ubuntu下编程指南

ubuntu下编程指南

ID:3908134

大小:299.97 KB

页数:6页

时间:2017-11-25

ubuntu下编程指南_第1页
ubuntu下编程指南_第2页
ubuntu下编程指南_第3页
ubuntu下编程指南_第4页
ubuntu下编程指南_第5页
资源描述:

《ubuntu下编程指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ubuntu下gcc编程入门准备工作如果你还没装编译环境或自己不确定装没装,不妨先执行sudoapt-getinstallbuild-essential如果你需要编译Fortran程序,那么还需要安装?gfortran(或g77)sudoapt-getinstallgfortran如果你已经了解一些?vim?的知识,而且想用它来编辑源代码,那么我们不妨装个完整版sudoapt-getinstallvim-full如果你不了解vim,选择gedit、kate或mousepad来编辑源代码就好了注意:本文可能会让你失望,如果你看完后有下列

2、疑问的话:为什么要在终端输命令啊?GCC是什么东西,怎么在菜单中找不到?GCC不能有像VC那样的窗口吗?……那么你真正想要了解的可能是anjuta,kdevelop,geany,codeblocks,eclipse,neatbean等?IDE集成开发环境。即使在这种情况下,由于GCC是以上IDE的后台的编译器,本文仍值得你稍作了解。编译简单的C程序C语言经典的入门例子是?HelloWorld,下面是一示例代码:#includeintmain(void){printf("Hello,world!");return0

3、;}我们假定该代码存为文件‘hello.c’。要用?gcc?编译该文件,使用下面的命令:$gcc-Wallhello.c-ohello该命令将文件‘hello.c’中的代码编译为机器码并存储在可执行文件‘hello’中。机器码的文件名是通过?-o?选项指定的。该选项通常作为命令行中的最后一个参数。如果被省略,输出文件默认为‘a.out’。注意到如果当前目录中与可执行文件重名的文件已经存在,它将被复盖。选项?-Wall?开启编译器几乎所有常用的警告──强烈建议你始终使用该选项。编译器有很多其他的警告选项,但?-Wall?是最常用的。默认

4、情况下GCC不会产生任何警告信息。当编写C或C++程序时编译器警告非常有助于检测程序存在的问题。本例中,编译器使用了?-Wall?选项而没产生任何警告,因为示例程序是完全合法的。要运行该程序,输入可执行文件的路径如下:$./helloHello,world!这将可执行文件载入内存,并使CPU开始执行其包含的指令。路径?./?指代当前目录,因此?./hello?载入并执行当前目录下的可执行文件‘hello’。点击此处下载本节的操作视频捕捉错误如上所述,当用C或C++编程时,编译器警告是非常重要的助手。为了说明这一点,下面的例子包含一个微

5、妙的错误:为一个整数值错误地指定了一浮点数控制符‘%f’。#includeintmain(void){printf("Twoplustwois%f",4);return0;}一眼看去该错误并不明显,但是它可被编译器捕捉到,只要启用了警告选项?-Wall。编译上面的程序‘bad.c’,将得到如下的消息:$gcc-Wallbad.c-obadbad.c:Infunction'main':bad.c:6:warning:doubleformat,differenttypearg(arg2)这表明文件‘bad.c’第6行

6、中的格式字符串用法不正确。GCC的消息总是具有下面的格式?文件名:行号:消息。编译器对错误与警告区别对待,前者将阻止编译,后者表明可能存在的问题但并不阻止程序编译。本例中,对整数值来说,正确的格式控制符应该是?%d。如果不启用?-Wall,程序表面看起来编译正常,但是会产生不正确的结果:$gccbad.c-obad$./badTwoplustwois2.585495显而易见,开发程序时不检查警告是非常危险的。如果有函数使用不当,将可能导致程序崩溃或产生错误的结果。开启编译器警告选项?-Wall?可捕捉C编程时的多数常见错误。编译多个源

7、文件一个源程序可以分成几个文件。这样便于编辑与理解,尤其是程序非常大的时候。这也使各部分独立编译成为可能。下面的例子中我们将程序?HelloWorld?分割成3个文件:‘main.c’,‘hello_fn.c’和头文件‘hello.h’。这是主程序‘main.c’:#include"hello.h"intmain(void){hello("world");return0;}在先前的例子‘hello.c’中,我们调用的是库函数?printf,本例中我们用一个定义在文件‘hello_fn.c’中的函数?hello?取代它。主程序中包含有头

8、文件‘hello.h’,该头文件包含函数?hello?的声明。我们不需要在‘main.c’文件中包含系统头文件‘stdio.h’来声明函数?printf,因为‘main.c’没有直接调用?printf。文件‘hello.

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

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

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