- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 上的C++ 编译器和调试器.doc
Linux 上的 C/C++ 编译器和调试器Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。
#DEMO#: hello.c
两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。
清单 factorial.c
-----------------------
#include
#include
int factorial (int n)
{
if (n = 1)
return 1;
else
return factorial (n - 1) * n;
}
-----------------------
清单 main.c
-----------------------
#include
#include
int factorial (int n);
int main (int argc, char **argv)
{
int n;
if (argc 2) {
printf (Usage: %s n\n, argv [0]);
return -1;
}
else {
n = atoi (argv[1]);
printf (Factorial of %d is %d.\n, n, factorial (n));
}
return 0;
}
-----------------------
利用如下的命令可编译生成可执行文件,并执行程序:
$ gcc -o factorial main.c factorial.c
$ ./factorial 5
Factorial of 5 is 120.
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。
但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。
假设我们有一个如下的 C++ 源文件(hello.C):
#include
void main (void)
{
cout Hello, world! endl;
}
则可以如下调用 g++ 命令编译、连接并生成可执行文件:
$ g++ -o hello hello.C
$ ./hello
Hello, world!
1.8.2??gcc/egcs 的主要选项
gcc 命令的常用选项
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO
您可能关注的文档
- CBA球员得分回归分析.doc
- CH01Static_Games_of_Complete_Infromation完全信息静态博弈(博弈论,张醒洲).ppt
- CPA对客户职员舞弊损害赔偿之责.doc
- CRM01 客户关系管理的起源和发展.ppt
- D6 IDEM六面体网格划分实例.ppt
- Database Modeling of Engineering Information.doc
- Design and CFD analysis of centrifugal compressor for a microgasturbine.doc
- DSP + FPGA Supervisory Communications Infrastructure.ppt
- DVI与HDMI差异.doc
- DOHaD Mama Class.ppt
最近下载
- 【通桥(2016)2322A-II-1】高速铁路预制无砟轨道后张法预应力混凝土简支箱梁(双线) 跨度31.5m(直、曲线) .pdf
- 2024年二建继续教育-合同管理和风险防范(必修)1、2答案.docx VIP
- 2024-2025高二化学人教版选择性必修2习题试卷第三章章节测评(解析带答案版).doc
- GB∕T 3953-2024电工圆铜线 GB∕T 3953-2024电工圆铜线.pdf
- 部编版六年级毕业作文总复习指导(名师作品).ppt
- 产品上架与下架操作指南.doc VIP
- 《你好!法语1》练习册答案.pdf
- 日本的设计文化.ppt VIP
- 甲醇行业未来发展趋势预测.docx
- 收发文件管理制度.docx
文档评论(0)