4

我需要使用自动工具禁用单个文件的优化标志。最好的方法是什么?

4

1 回答 1

7

您是指单个源文件还是单个可执行文件?

禁用可执行文件的优化很简单:

bin_PROGRAMS = myprog
myprog_SOURCES = foo.c bar.c
myprog_CFLAGS = -O0

如果您的意思是要暂时禁用单个源文件的优化,例如出于调试目的,您可以在提示符处重新制作该文件:(来自 automake 手册的示例)

rm bar.o
make CFLAGS=-O0 bar.o
make

永久地为单个源文件执行此操作并不是那么简单,最好通过创建一个便利库来完成:

noinst_LIBRARIES = libnoopt.a
libnoopt_a_SOURCES = bar.c
libnoopt_a_CFLAGS = -O0

bin_PROGRAMS = myprog
myprog_SOURCES = foo.c
myprog_CFLAGS = -O2
myprog_LDADD = libnoopt.a
于 2010-02-09T09:37:28.997 回答