我想从 C/C++ 程序中编译一些代码。下面是它的工作原理。我会在内存中有一个缓冲区(动态分配),其中包含构成 C 代码的 ASCII 文本。从我的 C/C++ 中,我会fork()
调用exec()
系统上的 C 编译器来编译内存中的代码。
所以我想知道,有没有一种方法可以直接访问gcc
我的代码(比如使用管道或其他东西?)或者我是否必须将其写入磁盘,并读取它从磁盘?
答案1
这很容易被你自己测试过。
echo -e '#include <stdio.h>\nmain() {\nputs("hello, world");\n}' |
gcc -x c -pipe -
./a.out