ディスクに書き込むことなくファイルをコンパイルできますか?

ディスクに書き込むことなくファイルをコンパイルできますか?

C/C++ プログラムの一部のコードをコンパイルしたいと思います。仕組みは次のとおりです。 C コードを構成する ASCII テキストを含むバッファー (動的に割り当てられた) をメモリーに持たせます。私のC / C ++では、システムのCコンパイラをfork()呼び出してコードをメモリにコンパイルしました。exec()

gccそれでは、私のコードに直接アクセスする方法(パイプなどを使用するなど)はありますか?または、コードをディスクに書き込んでディスクから読み取る必要があるかどうか疑問に思います。

ベストアンサー1

これは自分で簡単にテストできます。

echo -e '#include <stdio.h>\nmain() {\nputs("hello, world");\n}' |
    gcc -x c -pipe -

./a.out

おすすめ記事