首页 GCC基本用法

GCC基本用法

举报
开通vip

GCC基本用法linux下c编程起步一:掌握gcc基本用法  初学时最好从命令行入手,这样可以熟悉从编写程序、编译、调试和执行的整个过程。编写程序可以用vi或其它编辑器编写。 编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。 gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。 一. 常用编译命令选项 假设源程序文件名为test.c。 1. 无选项编译链接 用法:#gcc test.c 作用:将...

GCC基本用法
linux下c编程起步一:掌握gcc基本用法  初学时最好从命令行入手,这样可以熟悉从编写程序、编译、调试和执行的整个过程。编写程序可以用vi或其它编辑器编写。 编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。 gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。 一. 常用编译命令选项 假设源程序文件名为test.c。 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 2. 选项 -o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。 3. 选项 -E 用法:#gcc -E test.c -o test.i 作用:将test.c预处理输出test.i文件。 4. 选项 -S 用法:#gcc -S test.i 作用:将预处理输出文件test.i汇编成test.s文件。 5. 选项 -c 用法:#gcc -c test.s 作用:将汇编输出文件test.s编译输出test.o文件。 6. 无选项链接 用法:#gcc test.o -o test 作用:将编译输出文件test.o链接成最终可执行文件test。 7. 选项-O 用法:#gcc -O1 test.c -o test 作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。 二. 多源文件的编译方法 如果有多个源文件,基本上有两种编译方法: [假设有两个源文件为test.c和testfun.c] 1. 多个文件一起编译 用法:#gcc testfun.c test.c -o test 作用:将testfun.c和test.c分别编译后链接成test可执行文件。 2. 分别编译各个源文件,之后对编译后输出的目标文件链接。 用法: #gcc -c testfun.c //将testfun.c编译成testfun.o #gcc -c test.c //将test.c编译成test.o #gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test 以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。 gcc编程环境基础5--编译时头文件和库文件路径指定 ※预处理(preprocessing),编译(compilation),汇编(assembly)和连接(linking) ※include的header文件,连结数据库,系统定义,总共有下列来源指定gcc去那找. 当初在编译时指定的(在~gcc/gcc/collect2.c:locatelib() 写在specs内的 后来用-D -I -L指定的 gcc环境变量设定(编译的时候) ld.so的环境变量(这是run time的时候) =======================================    1 ======================================= 1.头文件 gcc 在编译时怎么去寻找所需要的头文件 : ※所以header file的搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录 /usr/include /usr/local/include /usr/lib/gcc-lib/i386-linux/2.95.2/include /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3 /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include 库文件不过如果装gcc的时候,是有给定的prefix的话,那么就是 /usr/include prefix/include prefix/xxx-xxx-xxx-gnulibc/include prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include 2.库文件 cos()等 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 式库的选项要多加 -lm 编译的时候: ※gcc会去找-L ※再找gcc的环境变量LIBRARY_PATH ※再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程式内的 =======================================      2 ======================================= 2.利用Linux系统上已有的研发库 (1).查看库文件提供了哪些调用 能用nm命令自己查看库文件提供了哪些调用 (2).通过头文件查看函数的定义 =======================================      3 ======================================= 3.gcc选项 总体选项 (Overall Option)          :(-c(生成目标但不连接) -S(汇编) -E(预处理)   -o file(生成指定的文件) -pipe -v(显示过程)     -x language (设定文件所使用的语言,使后缀名无效`c’, 可用参数`objective-c’, `c-header’, `c++’, `cpp-output’, `assembler’, and `assembler-with-cpp’)) 语言选项 (LANGUAGE OPTIONS)  :(-ansi 只支持 ANSI 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的 C 语法.这一选项将禁止 GNU C 的某些特色) 预处理器选项 (Preprocessor Option) :(-Aassertion -C -dD -dM -dN -Dmacro[=defn] -E -H -idirafter dir -include file -imacros file -iprefix file -iwithprefix dir -M -MD -MM -MMD -nostdinc -P -Umacro 相当于C语言中的#undef macro -undef -DMACRO 以字符串“1”定义 MACRO 宏,  -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏) 汇编器选项 (ASSEMBLER OPTION)      :(-Wa,option ) 连接器选项 (LINKER OPTION)         :(-llibrary -nostartfiles -nostdlib -static -shared -symbolic -Xlinker option -Wl,option -u symbol  ) 目录选项 (DIRECTORY OPTION)        :(-Bprefix -Idir -I- -Ldir)  警告选项 (WARNING OPTION)   :(-w 不生成所有警告信息,-Wall 生成所有警告信息) 调试选项 (DEBUGGING OPTION)        :(-a -dletters -fpretend-float -g -glevel -gcoff -gxcoff -gxcoff+ -gdwarf -gdwarf+ -gstabs -gstabs+ -ggdb  -p -pg -save-temps -print-file-name=library -print-libgcc-file-name -print-prog-name=program  ) 优化选项 (OPTIMIZATION OPTION)     :(-O0不进行优化处理,-O或-O1优化生成代码 -O2进一步优化  -O3比-O2更进一步优化,包括inline函数) 目标机选项 (TARGET OPTION)   :(-b machine -V version ) 机器相关选项 (MACHINE DEPENDENT OPTION):(-m486 针对 486 进行代码优化) 代码生成选项 (CODE GENERATION OPTION)   :(-fpic -fPIC)
本文档为【GCC基本用法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_783983
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:3
分类:互联网
上传时间:2012-07-01
浏览量:7