g++ 之 -m64选项】的更多相关文章

今天编译之前的项目,竟然报了下面的错误 usr/bin/ld: i386 architecture of input file `./proxycpp/soapRemoteDiscoveryBindingProxy.o' is incompatible with i386:x86-64 output 其实是之前的.o文件是32位生成的,现在在64位重新编译,只好make clean 之后, 在Makefile 的g++ 选项上-m64就好了,如果你是32位系统,你可以设置为-m32…
事情的起因是,在使用Eclipse配置opencv的库时,发现使用-Wl 选项需要自己在Linker flags的输入框里指定.并不是像使用-l选项或-I选项那样可以直接添加选项的条目就可以了.但是在 Linker->miscellaneous里除了Linker flags输入框,还有个配置Xlinker选项的地方,直觉这个选项可能是跟-Wl选项的功能有关. 于是查文档,找到此页面:https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html 按照文档…
查查gcc手册就知道了,每个编译选项都控制着不同的优化选项 下面从网络上copy过来的,真要用到这些还是推荐查阅手册 -O设置一共有五种:-O0.-O1.-O2.-O3和-Os. 除了-O0以外,每一个-O设置都会多启用几个选项,请查阅gcc手册的优化选项章节,以便了解每个-O等级启用了哪些选项及它们有何作用. 让我们来逐一考察各个优化等级: -O0:这个等级(字母"O"后面跟个零)关闭所有优化选项,也是CFLAGS或CXXFLAGS中没有设置-O等级时的默认等级.这样就不会优化代码,…
g++ -Wall -m64 -W -O2 a.cpp b.cpp -o a 用下面的命令编译,生成libtriangle.so  先生成动态库 g++ -g -fpic -shared -o libtriangle.so triangle.cpp polygon.cpp g++  -Wall -m64 -W -O2 -fpic -shared -o Gy8583ISO.so Gy8583ISO.cpp   //-g http://hi.baidu.com/ablenavy/item/b4989…
-w: 关闭编译时的警告, 也就是编译后不显示任何warning,因此有时编译中会出现一些诸如数据转换之类的可忽略警告, -Wall: 显示编译后所有警告 -W: 显示警告,但是只是显示编译器认为的会出现错误的警告. 举例说明 对于如下程序 #include <stdio.h> void main() { int a = 10; return 0; } 情况1: 直接编译,使用如下命令 gcc -o test test.c 结果只有一个警告 test.c: In function 'main'…
测试程序test.cpp如下所示: #include <iostream> using namespace std; #define MAX 9 int main() { //just for test cout << MAX << endl; cout << "Hello world!" << endl; } g++编译主要分为四个阶段进行,即预处理(Preprocessing).编译(Compilation).汇编(Ass…
C和C++ 编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件: 预处理 (preprocessing),编译(compilation),汇编(assembly)和连接(linking).源文件后缀名标识源文件的 语言,但是对编译器来说,后缀名控制着缺省设定: gcc  认为预处理后的文件(.i)是C文件,并且设定C形式的连接. g++  认为预处理后的文件(.i)是C++ 文件,并且设定C++ 形式的连接. 源文件后缀名指出语言种类以及后期的操作: .c      C源程序;预处理,…
http://lists.gnu.org/archive/html/autoconf/2006-04/msg00002.html http://www.linuxidc.com/Linux/2013-07/87257.htm autoconf生成的编译选项默认是"-g -O2".这个"-g"选项将我迷惑了,以为生成了GDB调试所需的信息,所以也就没有管后面的"-O2“选项. 实际上在用GDB进行调试的时候,单步跟踪代码,GDB显示的代码非常混乱.要么某些代…
  autoconf生成的编译选项默认是"-g -O2".这个"-g"选项将我迷惑了,以为生成了GDB调试所需的信息,所以也就没有管后面的"-O2“选项.   实际上在用GDB进行调试的时候,单步跟踪代码,GDB显示的代码非常混乱.要么某些代码行未显示,要么中间插入了很多看起来像库函数的代码.甚至有时检查变量值都不对,但是根据此变量生成的后续结果却是正确的.   查看GCC文档,发现-g与-O选项虽然允许同时使用,但是会产生"surprise”的…
今天做了一道水题,POJ-1004,水题一个,12个double类型的数求平均数 但是, #include <iostream> #include <cstdio> using namespace std; int main() { double n; while (cin>>n) { ; double total = n; ) { cin>>n; total += n; } printf(); } ; } 这个看起来没毛病的代码,竟然WA了, 又WA两次之…