编译器选项选择性应用程序

时间:2011-12-15 08:51:58

标签: c++ compiler-options

可以在我的文件中有选择地应用编译器选项吗? 我希望某些选项可以覆盖某些文件,但不能覆盖其他文件。

2 个答案:

答案 0 :(得分:1)

猜测您可能正在使用Make文件:

这应该让你开始:注意如何为source2.c添加-fopenmp

CC=gcc
SRC=source1.c source2.c
OBJ=$(patsubst %.c,%.o,$(SRC))
EXE=source1.exe
FLAGS= -g -O2

source2.o: FLAGS+=-fopenmp

all: $(EXE)

$(EXE): $(OBJ)
    $(CC) -o $@ $^ $(FLAGS)

%.o: %.c
    $(CC) -c -o $@ $^ $(FLAGS)

clean:
    rm $(EXE)$

make -Bsn的输出:

gcc -o source1.o source1.c -g -O2
gcc -o source2.o source2.c -g -O2 -fopenmp
gcc -o source1 source1.o source2.o -g -O2

答案 1 :(得分:0)

当然。你调用编译器,你可以告诉它你想要什么。

某些工具可能会增加一些限制;据我所知,Visual Studio只允许在项目级别指定选项。但这是对工具的人为限制(我确信它有办法 - 我只是不知道它们。)