2017-10-30 22:03
⁄ 工业·编程
⁄ 共 289字
1.预处理
--E 1.宏替换 2.头文件展开 3.注释去掉 4.xxx.c -> xxx.i
2.编译
--S 1.xxx.i -> xxx.s 2.汇编文件
3.汇编
-C 1.xxxx.S -> xxx.O 2.二进制文件
4.链接
--o 1.xxx.O -> xxx(可执行文件)
gcc工作流程图
gcc常用参数
-v/ –version
-I 编译的时候指定头文件路径
-c 1.将汇编文件生成二进制文件,得到一个.O文件 2.源代码
-O 指定...
GCC, 原理阅读全文
2017-10-09 17:31
⁄ 工业·编程
⁄ 共 226字
C语言标准库 即ANSI C ,非常轻量,仅包含,数学函数,字符/字符串处理,io 等基本方面,处理目前的版本是c99
glibc库 即GNU c library,也是目前linux 平台的c 标准库,是 C语言标准库的超集,在其基础上增加了线程操作等扩展,其动态库位于/lib/libc.so.6,静态库位于/usr/lib/libc.a
gcc库 静态库:libgcc.a 动态库: libgcc_s.so 包含一些辅助运算(浮点运算,整数运算)的功能,以及实...
c标准, GCC, glibc阅读全文
2017-09-26 15:18
⁄ 工业·编程
⁄ 共 530字
最近开始复习和深入学习C和C++的知识,陆陆续续查了很多库函数的实现方式;最好的学习方式莫过于分析和学习经典的C和C++的库函数的实现方式了,这样自己以后使用起来也会更加的得心应手;由于相关资料其实还比较分散;故近期创建了连个博文分类,分别解析C的库函数(glibc经典源码分析)和C++的库函数(stdlibc++经典源码分析);先从常用的和简单的函数实现开始吧,希望能够学到不少经验;
1 glibc源码路径:
官方网址: http:...
GCC, glibc, libstdc阅读全文
2016-08-27 06:35
⁄ 工业·编程
⁄ 共 3033字
一、 在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。
1.MinGW 的主要方向是让GCC的Windows移植版能使用Win32API来编程。
(使用Win32API的代码可用MinGW的gcc编译,有点像用Linux开发环境开发Windows程序 如果你只是想在windows下使用gcc编译器也不想依赖其他的dll,mingw是很好的一个选择。 )
2.Cygwin 的目标是能让Unix下的程序代码在Windows下直接被编译。
(模拟Linux环...
Cgywin, GCC, linux编程, MinGW, MSYS阅读全文
2016-06-09 22:45
⁄ 工业·编程
⁄ 共 2198字
1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。
Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。
Gcc 编译器能将C、C++语言...
GCC阅读全文
2015-12-22 21:39
⁄ 工业·编程
⁄ 共 1631字
库文件依赖顺序
GCC在链接时对依赖库的顺序是敏感的,被依赖的库必须放在后面,比如liba.a依赖libb.a,必须写成liba.a libb.a,否则链接将出错。在库比较多依赖关系比较复杂或者相互依赖或者自己不清楚的情况下,可以使用下面的选项来强制GCC重复查找依赖库:
g++ -o tt tt.o -Xlinker "-(" -lws2_32 -lclsocketd -Xlinker "-)"
强符号和弱符号
在链接中,如果多个目标文件中含有相同名字的全局符号的定义...
GCC, 软件开发阅读全文