宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行。而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多。但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可...
分类:
移动开发 时间:
2015-08-21 13:26:35
阅读次数:
327
今天趁空闲时间看了点线程方面的知识首先看的是volatile关键字,按照我之前书上看到的一点知识,自己的理解是,volatile关键字会阻止编译优化,因为cpu每次读取数据是并不是从高速缓存中读取,而是取内存中的数据。这是自己的一点简单的理解,可能有错误。我之前只是看了点线程方面的知识,只是在自己写...
分类:
编程语言 时间:
2015-08-10 19:43:51
阅读次数:
131
关键字篇volatile关键字鲜为人知的关键字之一volatile,表示变量是'易变的',之所以会有这个关键字,主要是消除编译优化带来的一些问题,看下面的代码1 int a = 8;2 int b = a;3 int c = a;编译器认为,上面的第2句代码与第三句代码之间,没有存在对a赋值的语句,...
分类:
编程语言 时间:
2015-08-02 15:05:36
阅读次数:
117
一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.vector;class cel { void method (vector vector) { ...
分类:
编程语言 时间:
2015-06-26 12:18:17
阅读次数:
109
在使用gdb进行调试的时候,依赖于g++的编译结果,因为在编译时默认使用了优化,所以导致没按代码顺序执行,其实只需要将g++的编译优化关掉就可以了。
gdb调试程序的时候打印变量值会出现 情况,可以在gcc编译的时候加上 -O0参数项,意思是不进行编译优化,调试的时候就会顺畅了,运行流程不会跳来跳去的,发布项目的时候记得不要在使用
-O0参数项,gcc 默认编译或加上-O2优化编译会提高程...
分类:
数据库 时间:
2015-06-09 11:53:10
阅读次数:
373
linux环境下的编译器gcc
gcc:
-o 编译链接生成可执行文件
-O -O1 -O2 -O3 编译优化
-g -g1 -g2 -g3 产生调试信息至可执行文件
-w 关闭所有的警告
-W all,error -Wall显示所有的警告 -Werror把所有的警告当错误
...
分类:
系统相关 时间:
2015-05-11 09:04:09
阅读次数:
188
Project Property Sheet的意思是项目属性表,在大型项目中基本上都会使用。一般来说,在一个大型项目中,对于每个工程来说,很多属性设置是完全相同的,譬如公共头文件路径,公共通用函数/库,公共静态链接库,相同的编译优化选项等等,很多。而工程数目可能上则十数个,多则上百个,一个个的去配置工程属性,工作量大不说,还很容易配错,而使用项目属性表则可以明显减少工程的错误设置,明显减少工程的重复设置,显著降低程序员的工作量(虽然很多地方是项目经理统一配置的),本文主要讲述项目属性表的使用方法。...
分类:
其他好文 时间:
2015-05-03 23:44:43
阅读次数:
189
调试程序时,在gdb内p var,会提示
No symbol "var" in current context.
即使没有使用任何编译优化选项,仍然不能查看,放狗搜了一下,可能是这些变量被优化到寄存器中,gdb无法读取。
解决方案:
在编译是加入 ‘-gstabs+’ 选项,比如:
g++ -g -Wall -gstabs+ -o main.o main.cpp
...
分类:
数据库 时间:
2015-04-15 19:45:05
阅读次数:
120
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如:volatile ...
分类:
其他好文 时间:
2015-04-09 17:20:20
阅读次数:
103
这篇是网易云课堂《Linux内核分析》这门课的作业这周的作业是用GDB调试系统调用。我断点倒是能打上,但是单步执行的时候总是乱跳,而且变量值也查不到,都是optimized out。查了下好像是因为编译优化的问题。目前我也没有什么好办法。不管了先把实验截图和流程图发上来。
分类:
其他好文 时间:
2015-04-05 13:14:07
阅读次数:
165