当前位置:首页 » 编程软件 » c语言多文件程序编译连接运行

c语言多文件程序编译连接运行

发布时间: 2022-04-17 14:43:45

‘壹’ [c语言] 运行C程序的步骤

(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用.c作为后缀,生成源程序文件,如f.c。

(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代#include<stdio.h>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。
编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为.obj,如f.obj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。
在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。
(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为.obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为.exe,如f.exe。
即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。
以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。
(4)运行可执行程序,得到运行结果。
以上过程如图1.2所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。
为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

‘贰’ c语言中如何同时运行多个源文件

第一步:

将源文件1(1.c)修改为如下形式:

#include "print.h"
#include "2.c"
int main(void)
{
printHello();
return 0;
}

其中的2.c就是源文件2的文件名

第二步,将三个文件保存到同一目录中

第三步,打开TC2,执行FILE-CHANGE DIR,将工作目录换到三个文件所在的目录。

第四步,在TC2中打开1.c文件,编译运行。

建议不要再使用TC2这个相对原始的IDE了,上面介绍的这个方法也并不是标准方法,建议使用TC2006/VC/BCB等现代的IDE环境,如果实在是舍弃不下DOS字符界面,那就试试GCC吧!

‘叁’ Notepad++ 如何编译并运行C语言多文件

1:安装MinGW及GCC编译器
2:配置环境变量(注:可能需要重启后生效)
计算机-->属性-->高级系统设置-->环境变量-->系统:path 中添加C:\MinGW\bin;
当然MinGW是安在C盘下,按不同路径修改
3:打开Notepad++,编写一段C++代码并保存
例如:
#include <iostream>
using namespace std;
int main(){
int a, b;
cout<<"Input:"<<endl;
while(cin>>a>>b){
cout<<a+b<<endl;
}
return 0;
}
4:菜单栏--》运行--》运行,弹出框中输入:
cmd /k g++ -o $(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
选择快捷键后保存为: G++编译,注意快捷键不要有重复,在点击弹出框的运行,Ok,关闭Notepad,再打开Notepad++;
5:菜单栏--》运行--》运行,弹出框中输入:
cmd /k "$(NAME_PART)" & PAUSE & EXIT
同理保存名称换为为: G++运行,再点运行程序就会执行了

‘肆’ C语言怎么进行多文件编译,VC++6.0,要求详细步骤

程序1 存入 a1.c
程序2 存入 a2.c
删去 程序2 里 多写 的 一行 void accumulate(int k)
========
MS VC++ 6.0 编译命令:
CL a1.c a2.c
得到 a1.exe
运行 a1.exe 便可。
(其它编译器, 请照猫画虎。)

‘伍’ C语言怎样把两个文件连接起来成为一个文件来编译执行

这个很简单啊。其实C文件中的函数隐含就是EXTERN的,可以被其他函数调用。
你可以为你的file2.c见一个头文件为file2.h,内容如下
--------------------------------
/*file2.h*/
#ifndef FILE2_H_
#define FILE2_H_

int max(int a ,in b);

#endif
--------------------------
然后在file1.c
中添加#includes"file2.h"
--------------------------
#include"file2.h"
main()
{int m,a,b;
int max(int a,int b);
a=10;
b=20;
m=max(a,b);
printf("%d",m);
}
---------------------
file1.c内容不变.
添加file1.c 和file2.c一起到工程,编译,运行,OK

‘陆’ 在c语言中,把两个函数放在两个程序文件中,怎样作为两个文件进行编译,连接和运行

不知道你用的是什么编译器,如果用的是VC的话,可以尝试下我的做法:
创建两个源代码文件:1.cpp和2.cpp
1.cpp中内容:
#include<stdio.h>
#include"2.cpp"/*采用包含命令调用2.cpp中的函数*/
int max(int x,int y)
{
return x>y?x:y;
}
int main()
{
int a,b,m,n;
a=10;
b=30;
m=max(a,b);
n=min(a,b);
printf("%3d%3d\n",m,n);
return 0;
}
2.cpp中内容:
int min(int x,int y)
{
return x<y?x:y;
}
把这两个源代码放到一个文件夹下,编译并运行1.cpp即可。注意,2.cpp中没有main函数,所以不能直接编译2.cpp。其实由于最终1.cpp和2.cpp要连接到一起形成一个可执行文件1.exe,所以2.cpp中也不能有main函数。

‘柒’ 多文件C程序怎么编译连接及运行

关于 C 语言源程序的多模块编译、连接,这个必须要靠编写 makefile 文件才行。
而且还必须依照编写 makefile 的规则编写,才能够正确编译、连接各个 C 语言
源程序,最终执行 make makefile 指令,生成一个可执行程序。
makefile 文件是一个文本文件,其大致内容如下:
myfile1.o: myfile1.c
gcc -c myfile1.c
myfile2.o: myfile2.c
gcc -c myfile2.c
myrunfile: myfile1.o myfile2.o
gcc -o myrunfile myfile1.o myfile2.o

‘捌’ c语言为何需要编译和连接才能运行

的文件(也称为源代码)而已,需要经过1定的处理才能转换成机器上可运行的可履行文件。
我们将对C语言的这类处理进程称为编译与链接。

‘玖’ C语言文件的编译与执行的四个阶段并分别描述

开发C程序有四个步骤:编辑、编译、连接和运行。

任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。

1、预处理:导入源程序并保存(C文件)。

2、编译:将源程序转换为目标文件(Obj文件)。

3、链接:将目标文件生成为可执行文件(EXE文件)。

4、运行:执行,获取运行结果的EXE文件。

(9)c语言多文件程序编译连接运行扩展阅读:

将C语言代码分为程序的几个阶段:

1、首先,源代码文件测试。以及相关的头文件,比如stdio。H、由预处理器CPP预处理为.I文件。预编译的。文件不包含任何宏定义,因为所有宏都已展开,并且包含的文件已插入。我归档。

2、编译过程是对预处理文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程往往是整个程序的核心部分,也是最复杂的部分之一。

3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可以运行的可执行程序。也就是说,您需要链接大量的文件才能获得“a.out”,即最终的可执行文件。

4、在链接过程中,需要重新调整其他目标文件中定义的函数调用指令,而其他目标文件中定义的变量也存在同样的问题。

热点内容
配置环境变量有什么用 发布:2025-03-19 08:21:02 浏览:563
oppo手机微信如何设置支付密码 发布:2025-03-19 08:18:49 浏览:798
如何设置进微信密码是什么 发布:2025-03-19 07:45:11 浏览:287
编译原理概论实现文件读写 发布:2025-03-19 07:45:01 浏览:730
发微博python 发布:2025-03-19 07:44:19 浏览:427
农业银行卡通常密码是多少 发布:2025-03-19 07:44:14 浏览:741
算法导论对数 发布:2025-03-19 07:30:58 浏览:152
sql字符串日期 发布:2025-03-19 07:30:52 浏览:738
编程求距离 发布:2025-03-19 07:30:52 浏览:985
win8无法访问共享 发布:2025-03-19 07:30:49 浏览:34