c程序设计编译

汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
即使没多大出息,也不可以没了追求
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(4335)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082074',
blogTitle:'如何在Visual C++下调试运行C程序',
blogAbstract:'从2008年4月开始,全国计算机等级考试将全面停止Turbo C2.0(简称TC)软件的使用,所有参加二级C语言、三级信息技术、网络技术和数据库技术上机考试的考生,都要在Visual C++6.0(简称VC)环境下调试运行C程序。众所周知,VC软件主要是用来开发C++程序的,如何在VC下调试运行C程序,对于众多程序设计者来说,确实是一个新的话题。\r\nVC与TC的差异,主要是体现在程序设计语言C++与C的关系上。其实,了解计算机程序设计的人都知道,C++是C语言的升级板,VC是在Windows进行C++程序设计的主要软件,VC完全兼容了C的功能,也就是说,在VC下是完全能够进行C语言程序开发。\r\n一、在VC下运行一个C程序\r\n',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:5,
mainCommentCount:4,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'即使没多大出息,也不可以没了追求',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}您所在的位置: &
利用GCC开发C程序(1)
利用GCC开发C程序(1)
本文讲述利用GCC开发C程序的详细过程,即如何通过GCC来构建或者说是编译C程序。
我们知道,程序可能是由一个源文件编译而来的,也可能是通过编译多个源文件得到的,并且有时候还要用到系统程序库和头文件。这里所谓构建或编译,就是把用程序设计语言(例如C或者C++编程语言)编写的文本式的源代码转换成用来控制中央处理器的机器代码,这些机器代码不是文本,而是一连串的1和0。之后,这些机器代码被存放到一个文件中,该文件就是通常所说的可执行文件,有时候也叫做二进制文件。
一、编译C程序
对于C语言来说,最经典的示例代码莫过于著名的Hello World了,下面是它的源代码:
#include <stdio.h>
int main (void)
printf ("Hello, world!\n");
我们这里假设上述源代码存储在一个称为“hello.c”的文件中。若要借助gcc编译这个“hello.c”文件的话,可以使用下列命令:
$ gcc -Wall hello.c -o hello
上述命令会把“hello.c”文件中的源代码编译成机器代码,并将其放到一个称为“hello”的可执行文件中。其中选项“-o”告诉gcc输出一个包含机器代码的文件,该选项通常作为命令行的最后一个参数;如果省略了该选项,那么编译输出将写到一个名为“a.out”的缺省文件中。
请注意,如果当前目录中的文件与生成的可执行文件同名的话,原来的文件将被覆盖掉。
选项“-Wall”的作用是打开编译程序所有最常用的警告,一般建议总是使用该选项。虽然还有其它的警告选项,但是“-Wall”选项是最重要的一个。GCC不会生成任何警告,除非您启用了相应的选项。当利用C和C++进行程序设计的时候,编译程序的警告信息对于检测程序的问题来说是非常重要的。
本例中,即使使用了“-Wall”选项编译程序也不会生成任何警告,因为这个程序是完全正确的。如果源代码没有导致任何警告,则说明编译很顺利。若要运行该程序,可以键入该可执行文件的路径名,如下所示:
$ ./helloHello, world!
上述命令将可执行文件装入内存,并启动CPU执行这段内存中的指令。这里的路径./表示当前目录,所以 ./hello表示加载并且运行位于当前目录中的可执行文件“hello”。
二、 查找程序的错误
如前所述,当使用C和C++进行编程的时候,编译程序警告对编程有着莫大的帮助。 为例说明这一点,我们在下面的程序代码中故意放进了一个细微的错误:它不正确地使用了printf函数的时候,因为它使用浮点格式来输出一个整数值。
#include <stdio.h>
int main (void)
printf ("Two plus two is %f\n", 4);
乍一看,很难发现这个错误,但是如果在编译的时候使用了“-Wall”选项的话,编译程序就很容易发现这个问题。在利用警告选项“-Wall”编译上面的“bad.c”这个程序的时候,会收到下列消息:
$ gcc -Wall bad.c -o bad
bad.c: In function ‘main’:
bad.c:6: warning: double format, different type arg (arg 2)
该消息指出,在“bad.c”文件内的第6行错误地使用了一个格式串。实际上,GCC生成的消息有一个固定的格式,即行号:消息。编译程序对致使编译失败的错误信息和警告信息进行区别对待,警告信息只是指出可能的问题,但是不会停止程序的编译。本例中,正确的格式说明符应该是“%d”,关于格式说明符的用法,读者可以参考有关C语言手册。
如果不使用警告选项“-Wall”的话,程序在编译的时候毫无异常,但是在执行的时候却会得到错误的结果:
$ gcc bad.c -o bad
Two plus two is 2.585495 (呵呵,结果是不是有点出人意料呀?!)
我们看到,错误的格式说明符导致了错误的结果输出,因为我们传递给printf函数的是一个整数而非浮点数。在内存中,整数和浮点数是以不同的形式存放的,并且所占用的字节数通常也不同,所以最终导致了一个不合逻辑的结果。当然,在您实际运行上述程序的时候,得到的结果可能跟这里显示的不尽相同,这要取决于您所使用的具体硬件平台以及操作系统。
很明显,在开发程序的时候如果不使用编译程序的警告进行检验将是非常危险的。因为即使程序中的函数使用不当没有导致程序崩溃的话,也会导致错误的结果,而后者的危害往往更大。所以一定记得打开编译程序的警告选项“-Wall”,这会为您捕捉到C语言编程时最常见的错误。
内容导航&第 1 页: &第 2 页: &第 3 页: &第 4 页:
关于&&&&&&&&&&的更多文章
周一是“双十一”,为这美好的一周打响了头炮,自然好事也接踵而
网友评论TOP5
联想扬天V470G-ISE(H)笔记本采用酷睿i7-2630QM四核处理器...
周一是“双十一”,为这美好的一周打响了头炮,自然好
这是一本属于美国海豹突击队的超级实用生存手册!
这周的头版头条是“双十一”。凌晨12点守在电脑前抢东
本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还
51CTO旗下网站Linux下gcc如何编译自己目录下的C程序_百度知道
Linux下gcc如何编译自己目录下的C程序
这个程序所在的位置是&#47?难道只能放在gcc所指定的那个目录吗。我用gcc编译它说没有该文件或目录。怎样才能让它自己找到这个程序并编译及运行它呢,写了个C程序;C_a/home&#47比如我自己建了个文件夹
提问者采纳
~就是 /home&#47$cd ~$cd C_code$gcc xxxx.c -o xxxxxxxx其中
提问者评价
其他类似问题
为您推荐:
gcc的相关知识
其他1条回答
C_code$gcc 你要编译的c文件;a/home&#47$cd &#47
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c程序 的文章

 

随机推荐