博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
阅读量:6757 次
发布时间:2019-06-26

本文共 1635 字,大约阅读时间需要 5 分钟。

本节书摘来自异步社区《C语言编程初学者指南》一书中的第1章,第1.7节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.7 创建并运行第一个C程序

gcc编译器是一个ANSI标准编译器。一个C程序要经过很多的步骤,才能变为一个可运行或执行的程序。gcc编译器为你执行了很多的任务,其中最重要的任务包括以下几个:

预处理程序代码,并查找各种指令;

在适当的时候,生成错误代码和消息;
将程序代码编译成目标代码,并将其临时存储在硬盘上;
将任何必需的库链接到目标代码,创建一个可执行文件,并将其存储到硬盘上。
提示
 

ANSI是American National Standards Institute(美国国家标准研究院)的缩写。ANSI的一般目标是,为使用信息系统的人们提供计算标准。

在创建和保存C程序的时候,使用.c扩展名。这个扩展名是用C创建的程序的标准命名惯例。要创建一个新的C程序,从Windows下运行Notepad这样的一个文本编辑器,或者像下面这样使用nano或Vim:

nano hello.c vim hello.c

技巧

 

nano是另一款常用的基于UNIX的文本编辑器,也是Cygwin软件包所附带的文本编辑器。从最终用户的角度来看,它使用起来比Vim更为直观和容易。但是,它确实不像Vim一样拥有那么多功能。尽管namo和其他的文本编辑器并不是安装Cygwin时候的默认选项,但是在安装的时候,你可以通过Editors区域下的Select Packages窗口来进行选择。

前面的两条命令,都会打开编辑器并创建一个名为hello.c的新文件。一旦使用nano或Vim这样的编辑器创建并保存了C程序,你就已经准备好使用gcc编译程序了。

从Cygwin UNIX shell中,输入如下内容:

gcc hello.c

如果程序成功地编译了,gcc会创建一个名为a.exe的、新的可执行文件。

注意

 

如果没有成功地运行编译后的程序,验证一下%systemdrive%: cygwinbin(其中%systemdrive%是安装Cygwin的驱动器)目录结构已经成功地添加到系统的路径变量中了。

a.exe是这个版本的gcc所编译的所有C程序的默认的名称。如果你是在UNIX操作系统上的一个不同的gcc版本下编程,文件名可能是a.out。

每次使用gcc编译一个C程序的时候,它都会覆盖以前的a.exe文件中包含的数据。可以通过给gcc一个选项,来为可执行文件指定一个唯一的名称,从而改正这一点。指定一个具有唯一的名称的可执行文件的语法如下:

gcc programName –o executableName

关键字programName是你的C程序的名称,-o(字母o)选项告诉gcc,你将要指定一个唯一的编译名称,而executableName关键字是想要的输出文件的名称。如下是使用实际的文件名的另一个示例:

gcc hello.c  -o hello.exe

在UNIX命令提示符输入如下的命令,可以访问gcc的man页面(用于UNIX命令的在线手册),并找到关于gcc的大量信息。

man gcc要通过Cygwin UN```  IX命令提示符来执行程序,输入如下内容:

./hello

和Windows不同,当尝试执行一个程序的时候,UNIX shell不会默认在当前目录下查看。通过在编译后的程序之前带上一个./字符序列,我们告诉UNIX shell在当前目录下查找编译后的C程序,在这个例子中,当前目录就是hello目录。如果你使用一个Microsoft Windows系统,也可以从基于Microsoft的命令行shell(通常称之为DOS命令提示符)来执行程序,只要直接输入程序的名称就行了(假设你位于工作目录之中)。

转载地址:http://thzeo.baihongyu.com/

你可能感兴趣的文章
编程思想
查看>>
在Hadoop伪分布式模式下安装Hive(derby,mysql)
查看>>
经典布局样式
查看>>
python小白之np功能快速查
查看>>
Authorization Bypass in RSA NetWitness
查看>>
把ISO文件当作光盘挂载
查看>>
Algs4-2.3.26子数组大小直方图
查看>>
C#下Emgucv的配置
查看>>
你未必了解的DNS
查看>>
pycharm的放大和缩小字体的显示 和ubunt的截圖工具使用 ubuntu上安装qq微信等工具...
查看>>
【Java基础】sun.misc.BASE64和Java 8 java.util.Base64区别
查看>>
响应式开发的思路和断点的选择
查看>>
使用PL/SQL连接Oracle时报错ORA-12541: TNS: 无监听程序
查看>>
Mac011--DbWrench Database安装
查看>>
[原]Flash研究(一)——本地通讯
查看>>
bootStrap table 和 JS 开发过程中遇到问题汇总
查看>>
【小知识点】input输入框在安卓以及IOS手机中光标及字体不居中解决方法
查看>>
selenium
查看>>
数据类型内置方法之数据类型与字符串类型
查看>>
VB 设置循环,以及弹出messageBox
查看>>