用于编译未知数量的C文件的Bat文件

时间:2016-05-03 14:11:07

标签: batch-file

我有一些我想单独编译的c文件,并使用bat文件将它们链接在一起。我将使用gcc编译/链接它们。

问题是可能会添加新的c文件,我希望bat文件在不知道确切文件数的情况下编译/链接所有文件(不修改bat文件)。

类似的东西:

for X=1:number_of_c_files
    gcc -c sourceX.c

然后将它们链接在一起。

所有文件 名为compile_to_cX.c,其中X是从1到目录中c文件数的值。

提前致谢!

1 个答案:

答案 0 :(得分:2)

这非常简单。

for %%i in ( *.c ) do (
    gcc -c "%%i"
)

<强> ETA

我不记得你是否可以为gcc指定* .o,但我认为你可以,在这种情况下它会是这样的:

gcc *.o [options]

另一种选择是将.o文件名累积到环境变量中。

setlocal ENABLEDELAYEDEXPANSION
set O_FILES=
for %%i in ( *.o ) do (
    set O_FILES=!O_FILES! %%i
)

gcc %O_FILES% [other options]

真的,你应该使用makefile。