最近在做一个新的项目,所有的代码都是新写的没有参考的部分,因此遇到了一些问题,主要是在编译方面的问题,算是对这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个例子只是遇到的小问题,用于记录下来,希望对其他人有所帮助。如有错误之处,请批评指正,不胜感激。

g++编译时的常用选项说明相关推荐

  1. gcc编译命令的常用选项——强烈推荐大家使用 -Wall 选项

    C程序编编译的过程分为如下四个阶段 1.预处理:头文件展开(#include).宏替换(#define).条件编译(#ifdef)(.i)使用预处理器(预处理阶段处理的都是以#开头的代码) 2.编译: ...

  2. Gcc编译链接及常用选项总结

    转载文章:http://www.franktly.com 前言 GNU CC(简称Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object- C等语言编写的程序.Gcc ...

  3. g linux 未定义的引用_【转】 g++编译时对'xxxx'未定义的引用问题(undefined reference to)...

    转自:https://blog.csdn.net/killwho/article/details/53785910 引用:http://www.linuxdiyf.com/linux/16754.ht ...

  4. g++编译时:No such file or directory

    2.-l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文 ...

  5. 编译时“-nostdlib”的使用

    原文转载于:<ARM-LINUX-GCC -NOSTDLIB>http://blog.chinaunix.net/uid-26739173-id-3154722.html 在韦东山的mmu ...

  6. 由Google Protocol Buffer的小例子引起的g++编译问题

    问题 学习 Google Protocol Buffer 的使用和原理时,提供了一个小例子,讲述了protobuf的使用方法. 假如已经有了如下文件: 其中writer.cpp如下: #include ...

  7. Zephyr在编译时将二进制文件转化成c语言数组

    在Zephyr下是没有文件系统的,因为Zephyr主打低功耗,如果在低功耗环境上在搭载文件系统会使得代码变得沉重与复杂化,如果我们一般想要包含一些文件的话Zephyr的Cmake提供了一组开发环境包, ...

  8. windows下,对opencv进行gcc/g++编译

    opencv官网下载的Windows安装包有source文件夹和build文件夹,其中build文件夹是已经编译好的,里面有用于VS配置的库,source文件夹包含源码和编译配置文件,可以借助cmak ...

  9. 编译时使用pkg-config --cflags --libs意义

    1.将pkg-config看成一个工具 –cflags 可以给出编译时需要的选项 –libs 可以给出链接时的选项 2.pkg-config 工具提取库的编译和连接参数有两个基本的前提: 1>库 ...

最新文章

  1. java inputstream的read一次只能读到一个字节_20210118-JAVA面试题
  2. 基于网络抓包实现kubernetes中微服务的应用级监控
  3. linux怎么到conf目录,linux - 如何在没有.conf文件的情况下从Ubuntu下的命令行连接到WiFi? - Ubuntu问答...
  4. 超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
  5. 如何利用 “集群流控” 保障微服务的稳定性?
  6. python中的代码复用与函数递归
  7. 计算机网络-思维导图(5)传输层
  8. [画图]几何图形绘制测试
  9. 配置文件configSections节点使用实例      。
  10. HTTP协议详解(转载)
  11. Linux(CentOS)挂载U盘、移动硬盘以及文件拷贝、备份
  12. 微软发布全新3D Emoji表情系统:与Win11的UI风格一致
  13. day2 字典常用的方法
  14. 用html编写勾股定理,一种勾股定理演示器的制作方法
  15. 简述php和web交互过程,PHP与Web页面交互操作实例分析
  16. 人工智能丰收时代,传统营销企业如何应对?
  17. LeetCode--path sum ii
  18. sql domain credentail
  19. Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结
  20. Onvif协议学习:12、修改分辨率

热门文章

  1. zookeeper伪集群(在一台机器上集群)
  2. linux下安装Oracle10g时,安装rpm文件的技巧 (rpm -Uvh package名)
  3. think queue 消息队列初体验
  4. CentOS下安装MySQL报安装文件conflicts错误:
  5. Cisco 3560 配置DHCP Relay实例
  6. 解决Office系列安装不上的办法
  7. vim文本编辑器的配置vimrc
  8. 如何将数据写入excel中,而不覆盖原有数据
  9. 在不使用{}时,else执行到哪里结束
  10. vuex webpack 配置_vue+webpack切换环境和打包之后服务器配置