0

我在目录中有以下 C 文件...

hello.c, myprog.c, out.c

我想在一个命令中编译这些文件,以便可执行文件命名如下:

hello, myprog, out

我试过这个命令

ls *.c | awk '{print $1}' 

这列出了所有没有扩展名的 c 文件。

是否可以通过管道将这些值传递给变量并使用

| gcc $variable.c -o $variable

生成可执行文件?

4

3 回答 3

4
for i in *.c; do  # or explicitly enumerate the files
    gcc -o `basename $i .c` $i
done
于 2012-05-23T09:52:46.650 回答
1

如果您已经make安装,内置的构建规则将足以构建您的二进制文件。

只要做make hello,你就会得到你的二进制文件。无需显式调用gcc.

于 2012-05-23T15:42:23.147 回答
0
for f in *.c ; do gcc $f -o `echo $f | sed "s/\.c$//"`; done

(未测试)

于 2012-05-23T09:55:35.043 回答