首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gentoo的编译参数

CFLAGS 是为编译C语言编写的代码所设置的环境变量, CXXFLAGS 是为编译C++代码所设置的环境变量。...-march 参数告诉编译器为指定的cpu架构做优化,只有当没有合适的 -march 参数时,才会用到 -mcpu 和 -mtune,因为后二者都不是为指定的cpu优化的,更generic一些,其中 -...-O2 是推荐的参数, -O3 并不适合 GCC4.x。 -Os 算是 -O2 的加强版,但是只用于硬盘或者cpu cache非常小的情况。...-O 参数的最高级别就是3,原文甚至给出了gcc的源码来证明,即使设成 -O9 也没有效果。 -pipe 参数会加快编译速度。...-fomit-frame-pointer 会减小编译出来的代码,但是有一定的风险,会是调试程序变得困难,特别是调试java程序。 其余参数都可以忽略不计,只要设置好上面的参数,就是最安全的。

89920
您找到你想要的搜索结果了吗?
是的
没有找到

VS编译BOOST,bjam参数详解

在调用的地方定义短小匿名的函数对象,很实用的functional功能; (5)concept check,检查泛型编程中的concept; (6)Mpl,用模板实现的元编程框架; (7)Thread,可移植的C++多线程库; (8)Python...,把C++类和函数映射到Python之中; (9)Pool,内存池管理; (10)smart_ptr,智能指针。...\02Boost\boost_1_44_0\output --without-python --build-type=complete link=shared threading=multi install...决定是静态还是动态链接C/C++标准库 Bjam 选项、参数说明 --build-dir= 编译的临时文件会放在builddir里(编译完就可以把它删除了) --stagedir...= 存放编译后库文件的路径,默认是stage --build-type=complete 编译所有版本,不然只会编译一小部分版本(相当于: variant=release,threading

42710

makefile 编译参数_gcc使用说明

gcc编译源文件共有4个过程,预处理、编译、汇编、链接。...预处理: 命令:gcc -E test.c -o test.i (-o后面指定生成文件的命名) 过程:展开宏定义(#define),处理编译条件指令(#if #ifndef等),插入引用的头文件(...结果:生成.i文件,一般的文本编辑器都能打开 编译: 命令:gcc -S test.i -o test.s 过程:词法分析,语法分析,语义分析,生成相应的汇编代码 结果:生成.s文件,一般的文本编辑器都能打开...,可以分步编译,也可以使用gcc test.c -o test直接生成可执行文件。...将多个源文件编译输出时,需要一起进行gcc编译,可利用Makefile文件来实现。 分步编译如下: 最后得到main可执行文件,在cmd命令窗口下输入main+回车,即可运行main可执行文件。

46120

gcc 编译参数 -fno-strict-aliasing

想到最近项目在编译时加了-O2的优化选项,故验证之,果然是-O2搞的鬼。...但是为什么加了-O2的优化选项会触发这个bug,为了解决这个问题,需要弄清楚两点: 编译时加-O2会有哪些优化选项 jce 的哪些代码会触发这个bug   gcc -O2优化开启了很多优化选项,其中有一项就是.../test_aliasing i=56781234    这段代码的目的是交换一个int类型的前两个字节和后两个字节,正常编译和加了-O2, -fno-strict-aliasing 选项,程序可以正常运行...原因是加了-O2选项,默认打开了-strict-aliasing,程序中的short *p = (short *) &i, 破坏了aliasing 规则,编译器不会认为short 型指针p 指向 整形&...在项目中应尽量避免不同类型的指针转换,使用编译优化选项时要多加重视编译告警。 参考资料 http://km.oa.com/group/578/articles/show/150732?

5.3K270

Python程序编译与反编译

这方面的技术主要有两种:一种方法是把Python程序伪编译成扩展名为.pyc的字节码文件,一种是通过py2exe、pyinstaller或者cx_Freeze对Python程序进行打包。...之前的文章:Python安装扩展库与打包成exe可执行文件的方法已经介绍了打包的有关内容,本文主要介绍Python代码编译与反编译。...-O -m py_compile Stack.py,属于优化编译,会在Python安装路径下的__pycache__文件夹中生成Stack.cpython-35.opt-1.pyc文件。...此外,Python的compileall模块还提供了compile_dir()和compile_path()等方法,用来支持批量Python源程序文件的编译。...那么问题来了,是不是编译成.pyc文件以后真的无法查看源代码呢?很遗憾,还是有很多办法可以查看的,可以使用Python扩展库uncompyle6或其他类似模块来实现。

3.1K60

一个编译参数引发的血案

查阅众多资料后依然没有找到答案,不禁怀疑编译器有bug。此时一篇编译器bug相关文章跳入眼里:技多不压身——从一个编译器的”bug”谈起。...终于我们发现了一个强相关的参数-fstrict-aliasing。...很明显我们的代码违反了这个参数的假定条件,并且这个参数在-O2情况下是默认开启的。官方还举了个例子强调即使转换使用了联合类型,通过获取地址然后强转指针来进行的访问具有未定义的行为!...具体到我们这个例子,以下代码进行了初始化 *(int *)&_tm = 0; 而-fstrict-aliasing参数假定了我们不会进行类型的转换来使用结构体,当编译器发现代码 *(int *)&_tm...原来,因为代码不规范,编译时有好多告警,当初处理的时候添加了参数-Wno-strict-aliasing,这个参数仅仅是把警告给消除了,并没有取消这个假定条件的优化,正确的做法是使用参数-fno-strict-aliasing

83421

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券