C++メタプログラミングに触発された私は、Cプログラムから大きなCソースコードを生成すると考えました。 "max"変数を必要な関数の数に変更します。このコードをコンパイルして実行すると、largefile.c
というCプログラムが作成されます。最適化をオフにしてこのプログラムをコンパイルします。生成されたprintfも削除することをお勧めします。それは、あなたが何をしたいのかに依存します。がんばろう!
#include <stdio.h>
void writefunc(FILE *fp, int i)
{
fprintf(fp, "void f%d()\n{\n\tprintf(\"%d\\n\");\n\tf%d();\n}\n", i, i, i+1);
}
int main(int argc, char** argv)
{
FILE *fp = fopen("largecode.c", "w");
int i;
int max = 100;
fprintf(fp, "#include<stdio.h>\n");
fprintf(fp, "\nint f%d()\n{\n}\n", max + 1);
for (i = max; i > 0; i--) {
writefunc(fp, i);
}
fprintf(fp, "\nint main(int argc, char** argv){\n\tf1();\n}\n");
fclose(fp);
return 0;
}
おそらく、これを実行するオペレーティングシステムを指定する必要があります。 – unwind
宿題がありません。 –
@R - いいえ - メタタグは[正式には死んだ](http://blog.stackoverflow.com/2010/08/the-death-of-meta-tags/) – Justin