导航:首页 > 源码编译 > 如何编译运行c语言源程序

如何编译运行c语言源程序

发布时间:2024-11-07 10:51:30

㈠ c语言编程自学教程怎么运行c语言代码

计算机不能直接识别和执行用高级语言写的指令,必须用编译程序把C源程序翻译成二进制形式的目标程序,然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可执行的目标程序。
在编好一个C源程序后,怎样上机进行编译和运行呢?一般要经过以下几个步骤:
(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内,文件用.c作为后缀,生成源程序文件,如f.c
(2)对源程序进行编译,先用C编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。例如,对于#include指令来说,就是将stdio.h头文件的内容读进来,取代#include行。由预处理得到的信息和程序其他部分一起,组成一个完整的,可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。编译的作用首先是对源程序进行检查,判断它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修正程序后重新进行编译,如有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序,如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。
在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。
(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为.obj)还不能供计算机直接执行。前面也说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对于的目标文件,它只是整个程序的一部分,必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序,在Visual C++中其后缀为.exe,如f.exe。
即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。
以上连接的工作是由一个称为“连接编辑程序”的软件来实现的。
(4)运行可执行程序,得到运行结果。
以上过程如图所示,其中实线表示操作流程,虚线表示文件的输入输出。例如编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译得到目标程序文件f.obj,再将所有目标模板输入计算机,与系统提供的库函数等进行连接,得到可执行的目标程序f.exe,最后把f.exe输入计算机,并使之运行得到结果。

一个程序从编写到运行成功,并不是一次成功的,往往要经过多次反复。编写好的程序并不一定能保证正确无误,除了用人工方式检查外,还须借助编译系统来检查有无语法错误。从图中可以看到:如果在编译过程中发现错误,应当重新检查源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。
为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成环境(IDE)的,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。
写出源程序后可以用任何一种编译系统对程序进行编译和连接工作,只要用户感到方便、有效即可。20世纪90年代,Turbo C 2.0用得比较多,但Turbo C 2.0是用于DOS环境的,在进入Turbo C集成环境后,不能用鼠标进行操作,主要通过键盘选择菜单,不大方便。有的人改用Turbo C++ 3.0,它具有方便、直观和易用的界面,虽然它也是DOS环境下的集成环境,但可以用鼠标操作菜单,因此在Windows环境下使用也很方便。近年来,不少人用Visual C++对C程序进行编译。Visual C++ 6.0既可以对C++程序进行编译,也可以对C程序进行编译。
不应当只会使用一种编译系统,无论用哪一种编译系统,都应当能举一反三,在需要时会用其他编译系统进行工作。

㈡ c语言写完代码后怎么运行

在C语言写完代码后,需要通过编译器将源代码编译成可执行文件,然后在相应的操作系统中运行这个可执行文件。

C语言是一种需要编译的编程语言,它的源代码需要被转换成机器码才能在计算机上执行。这个过程通常分为两个步骤:编译和链接。

1. 编译:编译器将C语言源代码(.c文件)转换成目标文件(通常是.o文件或.obj文件),这个文件包含了源代码转换成的机器码,但是还不能直接执行,因为它可能还依赖于其他目标文件或库。在这个阶段,编译器还会检查源代码中的语法错误。

2. 链接:链接器将一个或多个目标文件以及可能需要的库文件合并成一个可执行文件(在Windows系统中通常是.exe文件,在Unix/linux系统中没有特定的扩展名)。这个可执行文件包含了程序运行所需的所有机器码和其他资源。

例如,如果你在Linux系统中使用GCC编译器,你可以通过以下命令来编译和运行C语言程序:

bash

gcc -o hello_world hello_world.c # 编译

./hello_world # 运行

这里,“gcc”是GNU编译器集合中的C语言编译器,“-o hello_world”指定输出文件名为“hello_world”(在Linux中,如果不指定输出文件名,GCC会默认生成一个名为“a.out”的可执行文件),“hello_world.c”是源代码文件。运行可执行文件时,需要在前面加上“./”来表示当前目录。

如果你在Windows系统中使用Visual Studio等集成开发环境(IDE),编译和运行的过程通常会被IDE自动化。你只需要点击“运行”或“调试”按钮,IDE就会自动完成编译、链接和运行的过程。

请注意,虽然这里只介绍了最基本的编译和运行过程,但实际的软件开发中可能还需要考虑很多其他因素,比如编译器选项、多文件编译、库的使用、错误处理和调试等。

㈢ 在c语言中按什么键编译源程序

在 C 语言中,通常使用集成开发环境(IDE)来编写、编辑和编译源代码。在 IDE 中,通常提供了一个“编译”或“构建”按钮或菜单项,您可以点击它来对当前打开的源代码进行编译操作,生成可执行程序或库文件。具体的快捷键可能因不同的 IDE 而异,建议查看相应 IDE 的文档或快捷键设置。

㈣ linux 怎么编译c的源程序的gcc,编译命令是什么

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器。

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux ");

}

(4)如何编译运行c语言源程序扩展阅读:

在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

网络_gcc

㈤ c语言运行程序的步骤是怎样的

运行C语言程序的步骤如下:
1. 编辑源代码:首先,你需要使用文本编辑器(如Notepad++、Sublime Text或Vim等)编写C语言源代码,并将编写好的代码保存为具有.c扩展名的文件。
2. 编译源代码:接下来,使用C语言编译器(如GCC或Clang)对.c文件进行编译。编译过程会将源代码转换成机器语言,生成一个名为.obj的目标文件。
3. 链接目标文件:编译后生成的.obj文件还不能直接运行,需要通过链接器(如GCC的ld程序)将其与C语言标准库等其他必要的对象文件链接,生成一个可执行的.exe文件。
4. 运行可执行文件:最后,双击生成的.exe文件,操作系统会加载并执行这个程序,你就可以看到程序的运行结果了。
C语言的一些特有特点包括:
- 结构化编程:C语言支持结构化编程,允许使用函数、数组和结构体等结构来组织代码。
- 变量作用域:C语言中的变量可以有全局作用域或局部作用域,这有助于提高代码的可维护性。
- 递归功能:C语言允许函数递归调用自身,这使得某些算法可以更简洁地实现。
- 值传递和指针:C语言中的参数传递主要是通过值传递的方式进行的,同时也支持通过指针传递,这为内存操作提供了便利。
- 结构体:C语言中的结构体允许将不同类型的变量组合在一起,形成复杂的数据结构。
- 类型转换:C语言中整型和字符型等基本数据类型可以进行转换,增加了编程的灵活性。
- 指针:C语言通过指针可以实现对内存的直接操作,这对于系统编程等场合非常重要。
- 预编译处理:C语言的预编译器(如#include、#define等预处理指令)可以在编译前对源代码进行处理,提高了编译的效率和灵活性。

㈥ Visual Studio 2019怎么编译C语言源程序

1、首先,打开C语言编辑器工具,然后在该工具中编写程序的源代码,如下图所示,然后进入下一步。

阅读全文

与如何编译运行c语言源程序相关的资料

热点内容
arp命令的使用 浏览:100
程序员文史综合题目 浏览:312
aixdd命令 浏览:748
dos卸载命令 浏览:719
王的命令第二季 浏览:625
六开奖搅珠直播源码 浏览:396
四川免费服务器云主机 浏览:619
snmp协议java编程 浏览:454
停止解压百度网盘 浏览:10
什么是xml编程 浏览:444
比邻pdf 浏览:555
云主机是个人服务器吗 浏览:282
一般监控用什么app 浏览:715
柴油机压缩力不足怎么办 浏览:92
死亡通知app怎么下载 浏览:357
女生做程序员有多累 浏览:153
word转换pdf文件 浏览:275
程序员打造智能电子钢琴 浏览:836
宝塔添加站点和源码 浏览:70
转转app什么时候能确认收款 浏览:655