混淆微小的C编译器(OmniTouch联络中心)是一个非常小的C编译器我为了赢得国际C语言混乱代码大赛(IOCCC)在2002年写道。
我的目标是写最小的C编译器,它能够编译本身。我选择C的一个子集,这是一般足够写一个小的C编译器。然后,我扩展的C子集,直到我到达授权较量的最大尺寸:2048字节的C源代码不包括';','{','}'和空格字符。
我选择生成代码的i386。原来OTCC代码只能运行在Linux的I386,因为它依赖于字节序和未对齐访问。它产生在内存中的程序,直接启动它。外部符号解决了使用dlsym()。
为了有一个便携版本OTCC的,我做了一个叫OTCCELF变种。这仅比OTCC大一点,但它会产生直接从C源动态链接i386的ELF可执行文件不依赖于任何binutils的工具! OTCCELF进行了测试成功地在i386的Linux和SPARC Solaris的。
注:我的其他项目TinyCC这是一个功能齐全ISOC99 C编译器是由从OmniTouch联络中心的源代码开始!
编译:
GCC -02 otcc.c -o OTCC -ldl
GCC -02 otccelf.c -o otccelf
自编译:
./otccelf otccelf.c otccelf1
按类别搜索
热门软件
Kismet 17 Feb 15
Xfburn 17 Feb 15
Parrot security OS 23 Oct 17
Lubuntu 16 Aug 18
Oracle Solaris 22 Jun 18
BlackArch Linux 22 Jun 18
Puppy Linux "Slacko" 14 Jul 16
评论没有发现