网站大量收购闲置独家精品文档,联系QQ:2885784924

Linux系统的C编程.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统的C编程

第十一章 Linux系统的C编程 第十一章 Linux系统的C编程 11.1 编译器 11.2头文件 11.3链接器与库文件 11.4 静态库 11.5 共享库 11.6 make与Makefile 11.7 调试器gdb 11.8 UNIX/Linux其它编程工具简介 11.1 编译器 11.1.1 功能及用法 11.1.2 参数及说明 11.1.3 示例 11.1.4 gcc的工作过程 11.1.1 功能及用法 1.为什么要使用编译器? C语言源程序需要经过编译和链接这两个过程才能转换成二进制可执行程序。 一般在Unix系统中使用的C编译器是cc(C Compiler的缩写)。在各个Linux发行版本中广泛使用的C编译器名为gcc(GNU cc)。为了保持与Unix系统的兼容,在Linux系统中cc作为了gcc的一个链接。 2.gcc的功能 gcc能将C/C++源程序和目标程序编译并调用链接程序ld生成可执行文件,如果用户没有给出可执行文件的名字,gcc将默认生成一个名为a.out的可执行文件。 3.gcc的用法 gcc的一般用法为: gcc [options] filenames 其常用格式为: gcc [-c][-S][-E][-s][-g] [-static][-shared][-rdynamic] [-Idir …][-Ldir …][-lmylib] [-Olevel] [-x Language] [-Dmacro[=defn] …] [-Umacro][-mmachine-option …] [-o out_file] infile … 几点说明 gcc根据源程序的扩展名来决定使用哪一种语言的编译器进行编译工作。 扩展名为“.c”的文件被gcc认为是C语言的源程序文件。例如:gcc hello.c gcc编译出来的可执行程序默认是a.out。 g++是一个C++版本的gcc编译器。 g++要求C++语言源程序文件带有扩展名“.cc”或“.C”。例如:g++ hello.cc, g++ hello.C 参数 -c:编译后仅输出*.o型的目标文件,而不连接生成可执行程序 -S:编译后仅生成汇编语言文件*.s,但不生成目标文件和可执行代码 -s:生成可执行文件时,删除符号表和重定位信息。生成成品软件时使用 -E:在预处理过程后结束,不进行编译和连接,也不生成可执行代码 -g:在可执行文件中加入调试信息,便于程序的调试 参数(续) -o outfile:指定输出文件名。若不指定则生成a.out -Idir:将目录dir添加到头文件搜索范围 -lmylib:连接时搜索库libmylib.a -Ldir:将目录dir添加到库文件搜索范围 -O[L]:编译时进行优化。L为优化级别,分别0~3和s。生成最终产品时使用 -static:禁止使用共享库(动态连接库) -shared:生成共享库 -rdynamic:连接时使用共享库 11.1.3 示例 C程序 设有一个文件名为hello.c的程序,其内容为: 编译和执行步骤 编译 gcc hello.c #生成可执行程序a.out,或 gcc –o hello hello.c #生成可执行程序hello 运行 ./a.out 或 ./hello 输出结果 Hello World! 2. c++程序 一个c++版的Hello World程序,其文件名为hello.C,内容为: 编译方法 使用c++或g++来编译: g++ hello.C #生成可执行程序a.out c++ –o hello hell.C #生成可执行程序hello g++ –s -o Hello hello.C #生成删除符号表的可执行程序Hello 或使用gcc并指定库文件来编译c++程序: gcc –c hello.C #生成目标文件hello.o gcc –o h hello.C –lstdc++#指定标准c++库,生成可执行程序h 11.1.4 gcc的工作过程 使用gcc/g++由C源代码文件生成可执行文件的过程,有以下四个阶段∶ 预处理(也称预编译,Preprocessing) 编译(Compilation) 汇编(Assembly) 链接(Linking) 11.2 头文件 在标准C中有两种形式的头文件使用方式: #include headfile.h #include “headfile.h” 区别: #include headfile.h型头文件搜索范围为默认位置/usr/include, #include“headfile.h”型头文件的搜索位置为当前目录,

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档