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