g++编译时的常用选项说明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解mybatis映射配置文件

一 mybatis 映射文件结构 mybatis映射配置文件存在如下顶级元素,且这些元素按照如下顺序被定义。 cache – 给定命名空间的缓存配置。cache-ref – 其他命名空间缓存配置的引用。 resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中…

利用ACS来实现AAA服务

ACS简介思科安全访问控制服务器(Cisco Secure Access Control Sever)是一个高度可扩展、高性能的访问控制服务器,提供了全面的身份识别网络解决方案,是思科基于身份的网络服务(IBNS)架构的重要组件。Cisco Secure ACS通过在一个集…

Nginx常用命令有哪些?

最近在集群数据库之前部署了Ngnix来实现负载均衡和解决高并发情况下服务器压力过重的问题。 常用的命令有如下: nginx -t : 验证配置文件 nginx -s stop : 快速停止(不管有没有正在处理的请求,强制退出) nginx -s quit : 正常停止(处理完已经接收的请…

C/C++二维数组名和二级指针的联系与区别

1. 指针 1.1 一个指针包含两方面:a) 地址值;b) 所指向的数据类型。 1.2 解引用操作符(dereference operator)会根据指针当前的地址值,以及所指向的数据类型,访问一块连续的内存空间(大小由指针所…

BN层

论文名字:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 论文地址:https://arxiv.org/abs/1502.03167 BN被广泛应用于深度学习的各个地方,由于在实习过程中需要修改网络,修改的…

POJ 3613

1 //共T条路&#xff0c;求从S到E经过N条路径的最短路径 2 #include <iostream>3 #include <fstream>4 #include <string.h>5 #include <algorithm>6 using namespace std;7 8 #define CIR(n, m) for (int i0; i<n; i) for (int j0; j<m; j)9 co…

C语言中字符型和字符串型的对比

C语言中字符型和字符串型的对比字符型&#xff1a;C语言中字符用单引号括起来&#xff0c;存储方式以ASCII编码二进制形式存储&#xff0c;占用一个字节如&#xff1a;a,b,c,A等注意&#xff1a;在C语言中将字符型看成特别短的整形&#xff0c;unsigned int 的长度刚好是0-256的…

深入浅出 Javascript API(二)--地图显示与基本操作 转

深入浅出 Javascript API&#xff08;二&#xff09;--地图显示与基本操作 地图显示与基本操作&#xff08;放大、缩小、移动、坐标显示&#xff09;是JavascriptAPI的基本功能&#xff0c;也是一个WebGIS应用的基本内容&#xff0c;Javascript提供了非常便捷的开发方法&#x…

「PKUSC2018」神仙的游戏 - 题解

「PKUSC2018」神仙的游戏 题意&#xff1a;给出一个01?串&#xff0c;其中?可以代替成为0或1&#xff0c;令 $ F(i) $ 表示是否存在长度为 $ i $ 的border&#xff0c;求 $ (F(1) \times 1 \times 1) \bigoplus (F(2) \times 2 \times 2) \bigoplus (F(3) \times 3 \times 3)…

常用哈希函数的比较及其实现

基本概念 所谓完美哈希函数。就是指没有冲突的哈希函数。即对随意的 key1 ! key2 有h(key1) ! h(key2)。 设定义域为X&#xff0c;值域为Y, n|X|,m|Y|。那么肯定有m>n,假设对于不同的key1,key2属于X,有h(key1)!h(key2)&#xff0c;那么称h为完美哈希函数&#xff0c;当mn时&…

C语言 ,嵌入式 ,c++,数据结构 面试题目(4)

sizeof是C/C中的一个操作符&#xff08;operator&#xff09;&#xff0c;简单的说其作用就是返回一个对象或者类型所占的内存字节数。与strlen的区别&#xff1a;一、sizeof是运算符&#xff0c;确切的说是一个编译时运算符&#xff0c;参数可以是数组、指针、类型、对象、函数…

把链接伪装成按钮

<input type"button" οnclick"location.hrefhttp://www.lemongtree.net/;" value"GO">转载于:https://www.cnblogs.com/xiaoman_890/archive/2009/07/07/1518471.html

c语言中char *name 与char name 的区别

要点&#xff1a;char* name"abc"指的是常量字符串&#xff0c;不可以修改指针&#xff0c;是兼容老的写法&#xff1b;char[] name"abc"是指针&#xff0c;可以修改&#xff1b; 在学习过程中发现了一个以前一直默认的错误&#xff0c;同样char *c "…

Spring事务配置的五种方式

Spring事务配置的五种方式前段时间对Spring的事务配置做了比较深入的研究&#xff0c;在此之间对Spring的事务配置虽说也配置过&#xff0c;但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清&#xff0c;还是比较好掌握的。总结如下&#xff1a;…

关于SQL数据库中cross join 和inner join用法上的区别?

使用mysql创建两张表 表a 表b 可以使用下面的脚本创建表&#xff0c;并且添加测试数据&#xff1a; CREATE TABLE a ( name varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, sex varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL D…

CSS实现段落首行缩进、1.5倍行距、左右对齐

.text-content { font-size: 15px; text-indent: 30px; /*段落首行缩进&#xff0c;text-indent的值为font-size的2倍&#xff0c;相当于缩进2个汉字*/ line-height: 22px; /*line-height的值为font-size的1.5倍&#xff0c;即1.5倍行距&#xff0c;使用line-heig…

hash()函数的实现

输入参数都是字符串。 6种hash函数的实现以及使用方式&#xff1a; template<class T> size_t BKDRHash(const T * str) // 该效率最高 { register size_t hash 0; while (size_t ch (size_t)*str) { hash hash * 131 ch; // 也可以乘以31、1…

把数组排成最小的数

题目&#xff1a;输入一个正整数数组&#xff0c;将它们连接起来排成一个数&#xff0c;输出能排出的所有数字中最小的一个。 举例&#xff1a;输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题的算法&#xff0c;并证明该算法。 答&#xff1a;算法如下&…

【转】 vi常用操作

linux vi命令使用 功能最强大的编辑器——vi vi是所有UNIX系统都会提供的屏幕编辑器&#xff0c;它提供了一个视窗设备&#xff0c;通过它可以编辑文件。当然&#xff0c;对UNIX系统略有所知的人&#xff0c;或多或少都觉得vi超级难用&#xff0c;但vi是最基本的编辑器&#x…

tail的使用

最近找了下tail命令的使用方式&#xff0c;先总结下&#xff1a; tail -f filename 等同于--followdescriptor&#xff0c;根据文件描述符进行追踪&#xff0c;当文件改名或被删除后或者执行ctrlc后&#xff0c;停止追踪 例如&#xff1a;tail -f log/filename.txt ---该…