0

如果我做

*.c

它将返回以 结尾的文件列表,.c以空格分隔。但是,我希望它返回一个文件列表,前缀#include ""\n.

例如输出

#include "blah.c"
#include "meh.c"
#include "hehe.c"

gcc -xc -如果命令是单行的,我想将这个结果转化为额外的积分。

(不,我不想仅仅cat *.c因为它会丢失源位置信息)

4

3 回答 3

2

有一个更简单的方法:

printf '#include "%s"\n' *.c
于 2012-04-28T06:52:24.717 回答
2

也许像

for f in *.c ; do
  printf '#include "%s"\n' $f
done | gcc -xc -

应该做你想做的

但是,gcc 接受多个源文件,所以你可以这样做

gcc -Wall *.c -o yourprog -lyourlibrary

你也可以传递-g -O -fltogcc

于 2012-04-28T06:03:38.657 回答
1

我没有对此进行测试,但这可能会做到

对于 *.c 中的 a ;做 echo '#include "'$a'"' ; 完成 | gcc -xc -

于 2012-04-28T06:04:24.630 回答