导航:首页 > 源码编译 > 编译连接

编译连接

发布时间:2022-02-08 17:32:01

A. c++ 编译 链接是怎么回事

compile和link是大多数语言从原代码生成可执行程序的两个步骤。

之所有有这两个步骤因为几乎任何一个程序都不是用一个原文件写出来的。compile是先针对单独原文件进行处理。link是把compile处理的结果组合成一个完整的可执行文件。

其实C/C++完全也可以一步成型,不需要compile和link两个步骤,但是那样的后果就是:一,每次生成可执行程序,必须翻译全部源代码;二,C语言的执行库(printf, scanf这些)必须都以源代码形式存在。这怎么样也说不过去吧。

另外头文件不属于compile和link过程,头文件是预编译过程的文件。

C/C++语言的完整编译过程是

一、预编译

处理#define #if #include这类#开头的语句,这些称为预编译指令。这个过程中会把.h文件和.c/.cpp文件组合成最终交给compile过程的原文件。这个原文件是不包含任何#开头的语句的。所有#define定义的宏也会被替换。

二、编译
把上面那个原文件编译成.o或者VC里是.obj文件。这个文件保存了机器码化的函数、函数的描述、全局变量的描述、乃至段的描述等等。

三、连接
把可执行程序需要的所有的编译过程产生的.o或者.obj文件组合到一起。(这里也包括.lib文件,.lib文件件本质上就是打包的.obj文件集合)。另外连接过程还会组合一些其他数据,比如资源、可执行文件头等等。

B. C语言编译好后怎么链接

在绝大多数C/C++的集成开发环境(如VC6、VS、TC、QT)中,编译和链接都可以通过一个按键解决。以VC6为例,你可以通过build按钮(快捷键F7)一步完成编译和链接,当然你也可以先编译(compile 快捷键Ctrl+F7),后点击build按钮,效果是一样的。

编译和链接,其实就是编译型编程语言(解释性编程没有这个步骤)的生成可执行文件的两个步骤。
编译,是为了将源代码生成目标文件(也叫中间文件);链接,是将目标文件生成最终的可执行文件。
通常,在命令行编译模式下,你都需要执行两个命令来分别完成编译和链接,但在集成开发环境中,这不是必要的,完全可以一键完成。
之所以分两步,主要的设计目的,就是用不同的连接器可以生成在不同平台和不同环境下使用的可执行文件。但这个在同一个图形化的IDE界面中并没有什么意义。

C. 编译和链接的区别是什么

编译 源文件 -> 机器码
链接 机器码 -> 可执行文件

在GNU/Linux系统下:
编译: .c -> .o
链接: .o .o .o -> a.out

具体的可以看gcc的相关文档。

这个可以参考:
http://www.network-theory.co.uk/docs/gccintro/gccintro_82.html

D. 程序的编译链接过程

stdio.h 只是一个函数声明的头文件, 实现在已经编译好的库文件中,一般情况 IDE 会自动连接标准库,不需要你管。

E. 为什么要对C源程序进行编译、链接

首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html

F. 汇编语言的那个编译链接 的详细过程 每一步骤

LZ请跟着我的操作走

1.将写好的汇编代码保存为1.asm
2.将1.asm复制到c盘下
3.点开始(即左下标那个windows图标),找到运行,或(附件中的命令提示符)
4.找到运行后,输入cmd 或 command
5.进入后输入cd c:\
6.输入masm 1;(1后面有分号),然后回车
7.输入link 1;然后回车
8.cls清屏然后回车
9.输入1.exe,然后回车
10.完成

至于怎么debug
步骤:
1-8同上
9.输入debug 1.exe,然后回车
10.完成
至于debug 中的 'r' 'd' 't' 自己上网找大把

我的系统是win 7,
你的masm 和 link debug 要放在C:\Windows文件夹
PS: 若有不明白的地方,可以追问

G. 什么叫编译,什么又叫链接

编译就是将源程序翻译为机器代码,机器代码一般以*.obj文件保存。
链接就是将上一步产生的obj文件与操作系统动态库组合为可执行的exe文件。

H. 如何使用批处理文件进行编译、链接和运行

@echo
cd /d "c:\32masm"
ml /c /coff example.asm
ping -n 5 127.0.1>nul
link /substem:console /entry:start /out:example.exe example.obj io.obj kernel32.lib
ping -n 5 127.0.1>nul
example.exe

保存为.bat,看看是否可以运行.因为我不了解你这个汇编的编译过程和具体情况,无法肯定可以运行

I. 用C语言编的程序,要生成可执行文件的时候,要编译、链接,编译是什么意思啊链接是什么意思编译和链接

编译就是把C代码转换成CPU可执行的机器指令,每个.c文件生成一个.obj文件。
链接就是把生成的(多个) .obj 文件及用到的库文件(.lib)一起组合生成可执行文件(.exe)。

阅读全文

与编译连接相关的资料

热点内容
travelboast安卓怎么设置路线 浏览:51
播放解压的图 浏览:228
新建一个名为hux的文件夹 浏览:532
桥水基金加密货币 浏览:196
还有什么好app 浏览:152
微软最惨的源码 浏览:40
上海灵意压缩机 浏览:415
泰拉瑞亚2020最新服务器ip地址 浏览:563
安卓机玩吃鸡什么画质 浏览:873
徒步缓解压力的视频 浏览:238
图像算法口诀 浏览:859
人踩什么解压 浏览:921
php语法检查命令 浏览:330
如何重设服务器网关 浏览:865
世界经济pdf 浏览:110
异或算法找缺失的数 浏览:326
单片机flagt1 浏览:486
单片机清理 浏览:660
东风景逸空调压缩机 浏览:158
天津程序员炒股 浏览:230