IOCCC 1988 / isaak.c-为什么甚至在ANSIfication之后也没有输出?

问题描述

从1988年起赢得IOCCC冠军的作品中精心制作的,包含自我的代码:

http://www.ioccc.org/years.html#1988_isaak

...对于当时的某些系统来说仍然太高了。而且,ANSI C终于成为混乱的K&R生态系统的稳定替代品。结果,IOCCC评审还提供了该条目的ANSI版本:

http://www.ioccc.org/1988/isaak.ansi.c

它的主要吸引力在于其of头,包括在源代码内部和编译时在最后一行(!)中加上经过深思熟虑的<stdio.h>的{​​{1}},只允许某些部分代码的正确级别。这样一来,#define头文件就可以在最可能的最新阶段最终被最终包含在馈送给编译器的源代码中。

但是,使用提供的编译器设置,此版本在今天进行编译时仍无法产生输出:

<stdio.h>

使用的版本:GCC 9.3.0,TCC 0.9.27

对编译的二进制文件名没有任何明显的依赖,因此我将其留给编译器选择。即使使用gcc -std=c89 -DI=B -DO=- -Dy isaak.ansi.c tcc -DI=B -DO=- -Dy isaak.ansi.c -o isaak,也会发生相同的结果:无输出。

是什么原因造成的?输出功能如何失败?可以做些什么来纠正这个问题?

谢谢!

注意:IOCCC法官意识到此条目存在可移植性问题,这会损害其混淆值,因此决定还包括代码输出的UUENCODEd版本:

http://www.ioccc.org/1988/isaak.encode

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)