私が(本は1993年に印刷された)Cのコードの難読化についての古い本を読んでいます、と私は引数を持つ関数がこのように実装されていることに気付きました:関数の引数の型を ")"の後に定義するのは非常に古い標準ですか?
real_dump(address, infunc, ofp)
char *address;
int (*infunc)();
FILE *ofp;
{
/* the code goes here... */
}
また、ノーリターン型がありません定義された。
これは古い標準ですか? gccがこのコードをコンパイルできるようにすることは可能ですか?
この構文は1993年にさえも古いものでした:) – dasblinkenlight
HP-UXにバンドルされているコンパイラは現代のシステムでもこれをサポートしていると思います。ANSI Cコンパイラは追加費用がかかります。したがって、非常にシンプルなCプログラムをコンパイルする必要がある場合、この構文が実際には便利であることがわかっています。 –
1993年に、古い構文を使用することは不合理ではありませんでした。ネイティブコンパイラが標準Cをサポートしていなかったマシンがまだありました。多くはありませんでしたが、いくつかありました。プロトタイプが自動的に使用可能になるのに十分普遍的であったのは90年代後半(1996年以降)までではなかった。国境に近いが、1993年にはまだ正当化されている(ただし、本のどこかに明確化があったはずである)。 –