随笔分类 - C++ Compiler2
摘要:我们在编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而c++代码用g++,或者说编译用 gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:
阅读全文
摘要:c++11,就是之前的c++0x,已经成为了最新的c++标准。像咱这样天天用c++的,就赶紧follow一下。学习成果,放在这里,不说分享,至少自己增强下记忆。 首先,给出一些有用的链接。 http://zh.wikipedia.org/wiki/C%2B%2B11 , wiki中文,不过看起来是台
阅读全文
摘要:-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libte
阅读全文
摘要:/home/tace/openav/source/SeamlessMessage/CPaoFlt.o: In function `CPaoFlt::get_m_strPrmair() const':CPaoFlt.cpp:(.text+0x0): multiple definition of `CP
阅读全文
摘要:前几天听说clang 3.4已经release了,然后我又手痒就折腾一下,在这里记录一下折腾的经过。 在以前就试过clang-cl+VC的开发环境,编译代码到是没发现什么大问题,有不少警告而已,不过clang不支持生成VC的pdb调试信息,导致生成的程序不能源码级调试,既然不能调试,那这个环境也没啥
阅读全文
摘要:要用师兄的计算机算东西,无赖那上面是WINDOWS的系统,为了写出能够跨平台的代码,需要在代码中用到宏来选择编译。一种方法是自己在Makefile里面定义好该平台对应的宏。实际上,编译器基本上都会有一些已经定义好的宏来区别当前的平台,不需要自己重新定义。 开源项目Pre-defined Compil
阅读全文
摘要:http://stackoverflow.com/questions/14221918/win32-resource-file-multiple-translations https://msdn.microsoft.com/en-us/library/windows/desktop/aa38105
阅读全文
摘要:我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录: 例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld 上面这句表示在编译hello.c时:
阅读全文
摘要:作者:龙飞3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc,
阅读全文
摘要:C/C++每个头文件的功能说明 传统 C++ #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> //定义错误码 #include <float.h> //浮点数处理 #include <fstream.h
阅读全文
摘要:llvm似乎还有一个奇怪的优化方法:llvm(low level virtual machine)本身就是一种抽象的、虚拟的计算机架构,其特性介于RISC和CISC之间,llvm会先将代码编译为llvm架构的字节码(这里还是说说数据吧,从其官方数据来看,生成的字节码略多于x86的目标代码而少于SPA
阅读全文
摘要:我以为,学一个复杂的东西,要首先提纲挈领,搞清楚大体的框架与各个类的作用,细节以后再查,这样才有可能真正明白这个东西。LLVM显然是这样一个复杂东西,中文资料少之又少,所以我只能尽力把LLVM里的每一个类的功能,每一个类里所包含的函数都从源代码里一一列出来。 这是CodeExtractor.cpp所
阅读全文