linux GCC命令
来源:互联网 发布:mac个人收藏添加桌面 编辑:程序博客网 时间:2024/05/18 00:00
GCC编程
linux 系统下的GCC是GNU推出的功能强大、性能优越的平台编译器,是GNU的代表作之一。
GCC编译器能将C、C++语言源程序、汇编程序编译、连接成可执行文件,在linux系统中,可执行文件没有后缀,系统从文件的属性来区分可执行文件和不可执行文件。
使用GCC编译程序时,编译过程可以分为四个阶段:
*预处理(pre-processing) -E
*编译(compiling) -S
*汇编(assembling) -c
*连接(lingking)
GCC通过后缀来区别输入文件的类别:
*.c -------: C语言源代码文件
*.a-------: 是由目标文件构成的库文件
*.C,.cc或.cxx-----: 是C++元代码文件
*.h------: 头文件
*.i------: 是已经与处理过的C源代码文件
*.ii-----: 是已经处理过的C++源代码文件
*.o-----: 是编译后的目标文件
*.s-----: 是汇编语言源代码文件
*.S----: 是经过预编译的汇编语言文件源代码
基本用法
gcc最基本的用法是::
gcc [options] filename
options : 编译器所需要的编辑选项
filename: 要编译的文件名
gcc编译器中最常用的参数有
* -o output_filename : 确定可执行文件的名称为output_filename.如果不给出这个选项,gcc就给出预设的可执行文件a.out
* -c : 只编译,不连接成为可执行的文件,编译器只是由输入的.c等源代码文件生成。o为后缀的目标文件。
*-g :产生调试工具(GNU的gdb)所必须的符号信息,要相对编译出的程序进行调试,就必须加入这个.3选项。
*-o : 对程序进行优化编译、连接,采用这个选项,整个代码会在编译、连接过程中进行优化处理,这样产生的课执行效率可以更高,但是时间就要花费更多。
*-o2 : 比-o更好的优化编译、连接,当然整个编译、连接过程会更慢。
例程:optimize.c
输入:gcc optimize.c –o optimize
./optimize
即可得到运行结果,
再运行gcc –O optimize.c –o optimize 程序性能会得到大幅度的改善。
C程序中头文件包含两种情况:
#include
#include”B.h”
对于<> 预处理程序cpp在系统预设的头文件目录中搜寻文件;
对于“” 即cpp在当前目录中搜寻头文件,若在当前目录中没有找到需要的头文件,则 就到指定的dirname中去寻找。
Idirname:将dirname所指的目录加入到程序头文件目录列表中,
例:::
gcc foo.c –I/home/include –o foo
Ldirname : 将dirname所指出的目录加入到库文件的目录列表中。在默认的状态下,连接程序ld在系统的预设路径中需找需要的库文件,这个选项告诉连接程序,首先到-L指定的目录中去寻找,然后再找到系统预设的路径中寻找。
-L:将指定的目录加入到库文件的目录列表中
-l:在连接时,装载函数库
-Static:静态链接库文件 库有动态与静态两种,动态用.so静态用.a,默认动态
-Wall : 生成所有警告信息
-w : 不生成任何告警信息。
-DMACRO : 定义MACRO宏,等效于程序中使用#define MACRO
- linux gcc 命令
- linux下gcc命令
- linux GCC命令
- linux gcc 命令使用方法
- linux之gcc命令
- Linux GCC 基础命令
- Linux--命令--gcc
- linux之gcc命令
- linux基础--gcc命令
- linux命令之gcc
- Linux命令 gcc
- Linux gcc编译命令
- Linux GCC命令
- Linux的gcc命令
- Linux gcc命令
- linux下gcc/g++命令
- arm-linux-gcc安装命令
- Linux指令之 GCC命令
- php之图片处理类缩略图加水印
- 移动互联网创业:美国不代表全球
- error: no matching function for call to 'std::basic_ifstream<char>::open(std::string&)
- 12.9 训练 E - Ternary Password
- js的pretty print
- linux GCC命令
- 细说Cookie
- keil MDK中如何生成*.bin格式的文件
- 小米手机的录音文件位置
- 获取来源IP地址
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- 代理模式VS外观模式VS适配器模式
- android Installation error: INSTALL_FAILED_CONTAINER_ERROR
- substr 截取函数的应用