0

编译器选项可以选择性地应用于我的文件吗?我希望某些文件被某个选项覆盖,而不是其他文件。

4

2 回答 2

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
于 2011-12-15T09:29:38.453 回答
0

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

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

于 2011-12-15T09:00:30.817 回答