- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unix系统下C 编程
北京神州数码思特奇信息技术股份有限公司
研究院
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
示例
C程序
设有一个文件名为hello.c的程序,其内容为:
#include stdio.h
main()
{
printf(“Hello World!\n”);
}
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
编译和执行步骤
编译
gcc hello.c #生成可执行程序a.out,或
gcc –o hello hello.c #生成可执行程序hello
运行
./a.out 或
./hello
输出结果
Hello World!
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
纲 要
编译器
头文件
链接器与库文件
静态库
共享库
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
功能及用法
为什么要使用编译器?
C语言源程序需要经过编译和链接这两个过程才能转换成二进制可执行程序。
一般在Unix系统中使用的C编译器是cc(C Compiler的缩写)。在各个Linux发行版本中广泛使用的C编译器名为gcc(GNU cc)。为了保持与Unix系统的兼容,在Linux系统中cc作为了gcc的一个链接。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
gcc的功能
gcc能将C/C++源程序和目标程序编译并调用链接程序ld生成可执行文件,如果用户没有给出可执行文件的名字,gcc将默认生成一个名为a.out的可执行文件。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
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 …
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
几点说明
gcc根据源程序的扩展名来决定使用哪一种语言的编译器进行编译工作。
扩展名为“.c”的文件被gcc认为是C语言的源程序文件。例如:gcc hello.c
gcc编译出来的可执行程序默认是a.out。
g++是一个C++版本的gcc编译器。
g++要求C++语言源程序文件带有扩展名“.cc”或“.C”。例如:g++ hello.cc, g++ hello.C
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
参数
-c:编译后仅输出*.o型的目标文件,而不连接生成可执行程序
-S:编译后仅生成汇编语言文件*.s,但不生成目标文件和可执行代码
-s:生成可执行文
文档评论(0)