gcc,g++ 学习笔记
2013-10-29 14:33
85 查看
我的工作,就是一个大杂烩,什么都得学点。最近在不同的linux 平台下编译C,顺便抽个空深入学习一下gcc。
什么是gcc:来自维基百科。关键字:跨平台,编译器,多种语言支持。GNU系統的官方編譯器(包括GNU/Linux家族)
GCC(GNU Compiler Collection,GNU编译器套裝),是一套由GNU开发的编程語言编译器。它是一套以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,亦是自由的类Unix及蘋果電腦Mac
OS X
操作系統的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。
GCC原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC很快地擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,以及Go與其他語言。
补充个GPL和LGPLlicense的知识点:
![](http://techdoc.fd.zol-img.com.cn/g3/M0B/0F/00/Cg-4WFJfZ-qIYaGQAADelphPta8AAMlHwGEiEEAAN6u622.jpg)
遇到的命令:
-Idir把dir加入到搜索头文件的路径列表中。
如 CC_INCLUDES = -I./src
-c
只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
-o
制定目标名称,缺省的时候,gcc 编译出来的文件是a.out。-o $(INTERP)/commons_net.o src/commons_net.c
-O
-O1尝试优化编译时间和可执行文件大小。
-s去除可执行文件中的符号表和重定位信息。用于减小可执行文件的大小
-fPIC参数:PIC就是position independent code
PIC使.so文件的代码段变为真正意义上的共享如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位,重定位会修改代码段的内容,这就造成每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy.每个copy都不一样,取决于这个.so文件代码段和数据段内存映射的位置.
-shared 参数使其生成是动态库而不是普通执行程序
什么是gcc:来自维基百科。关键字:跨平台,编译器,多种语言支持。GNU系統的官方編譯器(包括GNU/Linux家族)
GCC(GNU Compiler Collection,GNU编译器套裝),是一套由GNU开发的编程語言编译器。它是一套以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,亦是自由的类Unix及蘋果電腦Mac
OS X
操作系統的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。
GCC原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC很快地擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,以及Go與其他語言。
补充个GPL和LGPLlicense的知识点:
![](http://techdoc.fd.zol-img.com.cn/g3/M0B/0F/00/Cg-4WFJfZ-qIYaGQAADelphPta8AAMlHwGEiEEAAN6u622.jpg)
遇到的命令:
-Idir把dir加入到搜索头文件的路径列表中。
如 CC_INCLUDES = -I./src
-c
只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
-o
制定目标名称,缺省的时候,gcc 编译出来的文件是a.out。-o $(INTERP)/commons_net.o src/commons_net.c
-O
-O1尝试优化编译时间和可执行文件大小。
-s去除可执行文件中的符号表和重定位信息。用于减小可执行文件的大小
-fPIC参数:PIC就是position independent code
PIC使.so文件的代码段变为真正意义上的共享如果不加-fPIC,则加载.so文件的代码段时,代码段引用的数据对象需要重定位,重定位会修改代码段的内容,这就造成每个使用这个.so文件代码段的进程在内核里都会生成这个.so文件代码段的copy.每个copy都不一样,取决于这个.so文件代码段和数据段内存映射的位置.
-shared 参数使其生成是动态库而不是普通执行程序
相关文章推荐
- gcc g++学习笔记
- GCC/G++学习笔记 - 1 - 执行预编译
- 【GCC学习笔记】G++命令经验
- GCC/G++学习笔记 - 1 - 执行预编译
- C与C++学习笔记 --- g++ 和 gcc 学习笔记
- GCC-3.4.6源代码学习笔记(153)
- GCC-3.4.6源代码学习笔记(15)
- GCC-3.4.6源代码学习笔记(17)
- GCC-3.4.6源代码学习笔记(69)
- GCC-3.4.6源代码学习笔记(133)
- GCC-3.4.6源代码学习笔记(25续1)
- GCC-3.4.6源代码学习笔记(85)
- Linux 学习笔记 2: 安装eclipse 及 初试gcc
- GCC-3.4.6源代码学习笔记(27)
- GCC-3.4.6源代码学习笔记(90)
- GCC-3.4.6源代码学习笔记(170)
- GCC-3.4.6源代码学习笔记(34)
- GCC-3.4.6源代码学习笔记(141)
- GCC-3.4.6源代码学习笔记(98)
- gcc、gdb学习笔记