分享
 
 
 

linux下命令行下编译c程序

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

C 是所有版本的UNIX上的系统语言.

C 在过去的二十年中有了很大的发展. 在80年代末期美国国家标准协会(American National

Standards Institute)发布了一个被称为 ANSI C 的 C 语言标准.这更加保证了将来在不同

平台上的 C 的一致性. 在80年代还出现了一种 C 的面向对象的扩展称为 C++.

Linux 上可用的 C 编译器是 GNU C 编译器, 它建立在自由软件基金会的编程许可证的基础

上, 因此可以自由发布. 你能在 Linux 的发行光盘上找到它.

随 Slackware Linux 发行的 GNU C 编译器(GCC)是一个全功能的 ANSI C 兼容编译器. 如果你

熟悉其他操作系统或硬件平台上的一种 C 编译器, 你将能很快地掌握 GCC. 这和java在命令行下

编译也很类似我们将在下面介绍如何使用 GCC 和一些 GCC 编译器最常用的选项.

格式 gcc [option] [sourcefilename]

gcc的选项十分繁多,大约有上百中,不过平时常用的不是非常多,我们将要介绍一些常用的选项:

最简单的是:gcc hello.c

默认的情况下将生成a.out的可执行性文件,你只需要在终端上输入./a.out就可以看到执行的结果.

如果你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:

gcc -o hello hello.c

gcc也允许你只编译源程序,这样可以只检查编译时刻的错误,有利也调试程序,用-c选项可以达到这个目的

命令如下:

gcc -c hello hello.c

结果生成了一个中间代码hello.o文件

编译选项告诉 GCC 在为 C 代码产生了汇编语言文件后停止编译. GCC 产生的汇编语言文

件的缺省扩展名是 .s . -E 选项指示编译器仅对输入文件进行预处理. 当这个选项被使用时

, 预处理器的输出被送到标准输出而不是储存在文件里.

之后你可以对上述中间代码进行链接运行,使用命令:

gcc -o hello.out hello.c

优 化 选 项

当你用 GCC 编译 C 代码时, 它会试着用最少的时间完成编译并且使编译后的代码易于调试

. 易于调试意味着编译后的代码与源代码有同样的执行次序, 编译后的代码没有经过优化.

有很多选项可用于告诉 GCC 在耗费更多编译时间和牺牲易调试性的基础上产生更小更快的可

执行文件. 这些选项中最典型的是-O 和 -O2 选项.

-O 选项告诉 GCC 对源代码进行基本优化. 这些优化在大多数情况下都会使程序执行的更快

. -O2 选项告诉 GCC 产生尽可能小和尽可能快的代码. -O2 选项将使编译的速度比使用 -O

时慢. 但通常产生的代码执行速度会更快.

GCC 支持数种调试和剖析选项. 在这些选项里你会最常用到的是 -g 和 -pg 选项.

选项告诉 GCC 产生能被 GNU 调试器使用的调试信息以便调试你的程序. GCC 提供了一个

很多其他 C 编译器里没有的特性, 在 GCC 里你能使 -g 和 -O (产生优化代码)联用. 这一

点非常有用因为你能在与最终产品尽可能相近的情况下调试你的代码. 在你同时使用这两个

选项时你必须清楚你所写的某些代码已经在优化时被 GCC 作了改动. 关于调试 C 程序的更

多信息请看下一节"用 gdb 调试 C 程序" .

如下命令 gcc -c -g hello.c

pg 选项告诉 GCC 在你的程序里加入额外的代码, 执行时, 产生 gprof 用的剖析信息以显

示你的程序的耗时情况.

关于ggc的详细信息可用man gcc来查看

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有