真的離開了這裏的牆問題,但是有沒有辦法在GCC中編譯一串C代碼而沒有任何介質來保存該字符串(例如源文件)?編譯C代碼字符串
東西線沿線的:
$ gcc "#include <stdio.h> int main(void){ printf('hello world'); return 0;}" -o test
感覺很乾淨,但如果有一些簡單的方法來做到這一點類型的東西那將是非常好的。
真的離開了這裏的牆問題,但是有沒有辦法在GCC中編譯一串C代碼而沒有任何介質來保存該字符串(例如源文件)?編譯C代碼字符串
東西線沿線的:
$ gcc "#include <stdio.h> int main(void){ printf('hello world'); return 0;}" -o test
感覺很乾淨,但如果有一些簡單的方法來做到這一點類型的東西那將是非常好的。
如果使用-
作爲輸入文件命令行,gcc從標準輸入讀取。由於沒有文件擴展名GCC可以用它來找出應該被編譯的語言,它具有與-x
標誌指定:
$ gcc -x c -o tst - <<EOF
> #include <stdio.h>
> int main(void) {
> printf("Hello world\n");
> }
> EOF
$ ./tst
Hello world
這看起來更容易使用。也謝謝! – 2010-01-18 04:49:14
這個例子管道字符串gcc。太好了! – 2010-01-18 04:25:49
那很性感。謝謝! – 2010-01-18 04:27:50
我承認有時突出的代碼,並使用:
(cat preamble.hpp; xsel) | g++ -x c++ - && ./a.out
同樣的作品有 「-xc」 爲C.
的[可能的複製是否有可能獲得GCC從讀管道?](http://stackoverflow.com/questions/1003644/is-it-possible-to-get-gcc-to-read-from-a-pipe) – 2015-10-03 16:44:19