Linux环境下的编译器gcc和g++

Linux环境下的编译器gcc和g++

ID:37511924

大小:59.00 KB

页数:7页

时间:2019-05-24

Linux环境下的编译器gcc和g++_第1页
Linux环境下的编译器gcc和g++_第2页
Linux环境下的编译器gcc和g++_第3页
Linux环境下的编译器gcc和g++_第4页
Linux环境下的编译器gcc和g++_第5页
资源描述:

《Linux环境下的编译器gcc和g++》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux的编译器gcc和g++GNU程序编译命令:gccg++格式:gcc[option]filenameg++[option]filename功能:编译或链接指定的编译文件。选项:-o指定输出文件名,缺省时为a.out-c只编译,产生.o的目标文件-O进行代码的一般优化-O2二级优化一.C语言程序的编译——gcc用法的详细说明摘自:OwnLinux.cnGNU编译器集(其前身为GNUC编译器)诞生于1987年。当时RichardStallman(GNU项目的创办人)想要创建一个编译器,它可以满足他定义的“自

2、由软件”概念,并可用来编译GNU项目发布的其他软件。GNUC编译器迅速在自由软件社区中流行开来,而且以其健壮性和可移植性而闻名。它已成为许多集成开发工具的基础,被世界各地的发行商应用在Linux和其他操作系统之上。GCC已不再是主要针对GNU项目自身的软件的小型C语言编译器了。如今,它已支持了许多不同的语言,包括C、C++、Ada、Fortran、ObjectiveC,甚至还有Java。事实上,现代Linux系统除了可以自豪地炫耀那些由GNU工具直接支持的语言以外,它还支持大量其他语言。日益流行的脚本语言Per

3、l、Python和Ruby,以及正在不断发展的mono可移植C#实现的确有助于冲淡人们对Linux编程的传统看法,但这完全是另外一个问题了。Linux内核和许多其他自由软件以及开放源码应用程序都是用C语言编写并使用GCC编译的。1.编译单个源文件为了进行测试,你可以创建“HelloWorld”程序:#include#includeintmain(intargc,char**argv){printf(”Helloworld!”);exit(0);}使用如下命令编译并测试这

4、个代码:#gcc-ohellohello.c#./helloHellowordl!在默认情况下产生的可执行程序名为a.out,但你通常可以通过gcc的“-o”选项来指定自己的可执行程序名称。2.编译多个源文件源文件message.c包含一个简单的消息打印函数:#includevoidgoodbye_world(void){printf(”Goodbye,world!”);}使用gcc的“-c”标记来编译支持库代码:#gcc-cmessage.c这一过程的输出结果是一个名为message.o

5、的文件,它包含适合连接到一个较大程序的已编译目标代码。创建一个简单的示例程序,它包含一个调用goodbye_world的main函数#includevoidgoodbye_world(void):intmain(intargc,char**argv){goodbye_world();exit(0);}使用GCC编译这个程序:#gcc-cmain.c现在有了两个目标文件:message.o和main.o。它们包含能够被Linux执行的目标代码。要从这个目标代码创建Linux可执行程序,需要再一

6、次调用GCC来执行连接阶段的工作:#gcc-ogoodbyemessage.omain.o运行编译结果:#./goodbyeGoodbye,world!前面这些单独的步骤也可以简化为一个命令,这是因为GCC对如何将多个源文件编译为一个可执行程序有内置的规则。#gcc-ogoodbyemessage.cmain.c#./goodbyeGoodbye,world!二、C++程序的编译——g++用法的详细说明C++编译 单个源文件生成可执行程序下面是一个保存在文件helloworld.cpp中一个简单的C++程序的代

7、码:/*helloworld.cpp*/#includeintmain(intargc,char*argv[]){   std::cout<<"hello,world"<

8、(objectfile),链接对象文件和libstdc++库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的a.out。程序可以这样来运行:$./a.outhello,world更普遍的做法是通过-o选项指定可执行程序的文件名。下面的命令将产生名为helloworld的可执行文件:$g++helloworld.cpp-ohelloworl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。