Chinaunix首页 | 论坛 | 博客

-?-

  • 博客访问: 28001
  • 博文数量: 15
  • 博客积分: 650
  • 博客等级: 上士
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-31 17:43
文章分类
文章存档

2011年(1)

2009年(3)

2008年(11)

我的朋友

分类: LINUX

2008-11-06 11:29:30

使用autoconf/automake来管理项目很方便,但是使用默认设置的话,编译选项为"-g -O2"。由于进行了优化,在调试时代码的运行次序可能有变化,有一些局部变量也看不见值。

究其原因,是当未对CFLAGS/CXXFLAGS设置特定值时,AC_PROG_CC/AC_PROG_CXX会默认把它们设置为"-g -O2"。

如果需要对工程中某一个文件或库或者可执行文件设置,则在Makefile.am中加入"-g -O0"。注意:如果不写-O0,automake默认会加上"-O2"。

execname_SOURCES = cannot_opt.cpp cannot_opt.h

cannot_opt_o_CXXFLAGS = -g -O0
execname_CXXFLAGS = -g -O0


如果要对整个工程禁止"-O2",在configure.ac中加入:

${CXXFLAGS="-g"} 或者 CXXFLAGS=${CXXFLAGS--g}
AC_PROG_CXX


然后autoreconf、configure再make,就是未优化的版本了。

ref:
阅读(1322) | 评论(0) | 转发(0) |
0

上一篇:使用clewn

下一篇:GNU Screen

给主人留下些什么吧!~~