linux C编程之gcc的使用
来源:互联网 发布:win7系统 怎样优化 编辑:程序博客网 时间:2024/05/30 04:48
前言:我们知道GCC是C语言的编译器,使用GCC由C语言源文件生成可执行文件的过程,要经过四个相互关联 的步骤:(这里以hello.c为源文件名)
预处理:preprocessing 将一些宏展开,其中包括头文件的展开 执行的命令: gcc -E hello.c -o hello.i (预处理后的文件后缀是i)
汇编:assembly 将预处理文件生成汇编代码 执行的命令: gcc -S hello.i -o hello.s (汇编处理后的文件后缀是s)
编译:complicationg 将汇编代码生成二进制文件 执行的命令: gcc -c hello.s -o hello.o (编译处理后的文件后缀是 o)
链接:linking 将生成的二进制文件和库链接 生成可执行二进制文件 执行的命令: gcc hello.o -c hello (可执行文件名指定为helli)
上面四个步骤可以用一个命令代替: gcc hello.c -o hello
gcc命令的格式: gcc [选项] 要编译的文件 【选项】 【目标文件】
常用选项
选项 说明
-c 只激活预处理、编译和汇编
-S 只激活预处理和编译,把文件编译成汇编代码
-E 只激活预处理
-o 指定目标文件
-g 编译的时候,产生调试信息
-static 将产生一个和static库连接生成的可执行文件,在没有使用该选项的情况下,默认是使用共享库,
-Wall 打印所有警告信息
-w 关闭所有警告信息
-werror 把所有警告信息转化为错误信息,即发生警告时终止编译过程
-include file 包含该文件的代码 相当于#include<file> ,gcc hello.c -include /root/hell.h
-immacros file 将制定文件的宏包含进来
-Dmacro 相当于#define macro
-Dmacro=defn 相当于#define macro=defn
-Umacro 相当于#undef macro
-C 在预处理的时候不删除注释信息
-llibiray 编译的时候使用libray库
-O0~O3 编译优化的四个等级 -O0代表不优化
-Ldir 制定编译时的库搜索路径
- linux C编程之gcc的使用
- Linux C编程 GCC的使用
- Linux下的C编程实战之gcc/gdb/make
- LINUX下的C编程实战之gcc/gdb/make
- Linux下的C编程实战之gcc\gdb\make
- Linux下C开发之gcc,gdb的使用
- Linux下C开发之gcc,gdb的使用
- Linux编程——GCC的使用
- Linux下C语言编程的-编译命令gcc的使用
- [转]我是这样学习Linux下C语言编程的-编译命令gcc的使用
- Linux下C语言编程基础知识--gcc编译器的使用、MakeFile文件的编写
- Linux下C语言高级编程之gcc高级用法?
- Linux C编程(5) 使用GCC参数定义宏
- Linux下C语言应用编程——GCC和GDB的使用
- linux 之gcc 常规参数的使用
- Linux下的C的开发之GCC的初级使用
- Linux下的C的开发之GCC的初级使用
- linux c 之使用-O来优化gcc
- 树dp( 拥有父节点 ,就等于拥有子结点)
- JavaScript跨域总结与解决办法
- 深度学习资料整理(深度神经网络理解)
- 老博客地址
- 学习OpenCV——HOG+SVM
- linux C编程之gcc的使用
- 重载运算符
- SQL 命令总结(一)
- 菜单展开 合并<二>
- Android平行排列带图标按钮中的图标不被拉伸布局
- jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)
- CPU位数、核数、个数
- vc6.0 中快速移除断点的方法
- java 数组类型