如果我这样做
*.c
它将返回以.c
结尾的文件列表,以空格分隔。但是,我希望它返回一个文件列表,前缀为#include "
,后缀为"\n
。
e.g。输出
#include "blah.c"
#include "meh.c"
#include "hehe.c"
我想把这个结果输入gcc -xc -
,如果这个命令是一个单行,那么加分。
(不,我不想只是cat *.c
,因为它会丢失源位置信息)
答案 0 :(得分:2)
也许像
for f in *.c ; do
printf '#include "%s"\n' $f
done | gcc -xc -
应该做你想做的事情
但是,gcc
接受多个源文件,因此您可以执行
gcc -Wall *.c -o yourprog -lyourlibrary
您也可以将-g -O -flto
传递给gcc
答案 1 :(得分:2)
有一种更简单的方法:
printf '#include "%s"\n' *.c
答案 2 :(得分:1)
我没有测试过,但这可能会这样做
表示* .c;做一个回声' #include"' $'"' ;完成| gcc -xc -