最近在做一个新的项目,所有的代码都是新写的没有参考的部分,因此遇到了一些问题,主要是在编译方面的问题,算是对这2周时间的总结:
g++编译时使用了 -O3级别,参数如下:
(1)、-g -O3 -DNDEBUG -fno-builtin-memcmp -Wno-strict-aliasing
-g : 生成gdb调试信息,创建符号表,并且关闭所有的优化机制
-fno-builtin-memcmp 使用自己定义的memcmp()
-Wno-strict-aliasing 屏蔽相关的 warning 信息
(2)、-g -O3 -DNDEBUG -fsanitize=address
-DNDEBUG : 告诉G++之类的编译器关闭assert()断言
-fsanitize=address 运行程序出错时,会给出详细的报告。
(3)、-g -O3 -fno-omit-frame-pointer
-fno-omit-frame-pointer : gdb调试时,获取整个函数的调用栈信息
上面的3个例子只是遇到的小问题,用于记录下来,希望对其他人有所帮助。如有错误之处,请批评指正,不胜感激。