怎么理解C++编译、连接、运行
2012-09-25 22:13
363 查看
编译是将各个模块转化为机器语言的对象文件
连接就是把这些对象文件再组合,将模块与模块之间的入口与出口衔接起来
例如你自己写个单文件程序,你自己的程序是一个模块
然后你在头文件里面调用的东西又是几个模块
各个模块之间被调用的函数称为符号
编译的时候引用其他模块的地方用符号标注,但是不指向实际地址
连接的时候将模块进行组合,求得各个符号的偏移地质,再按照符号列表填入各个模块实现实际调用,这才是一个完整的程序
运行就不多说了,就是把程序调入机器完成特定逻辑的步骤
连接就是把这些对象文件再组合,将模块与模块之间的入口与出口衔接起来
例如你自己写个单文件程序,你自己的程序是一个模块
然后你在头文件里面调用的东西又是几个模块
各个模块之间被调用的函数称为符号
编译的时候引用其他模块的地方用符号标注,但是不指向实际地址
连接的时候将模块进行组合,求得各个符号的偏移地质,再按照符号列表填入各个模块实现实际调用,这才是一个完整的程序
运行就不多说了,就是把程序调入机器完成特定逻辑的步骤
相关文章推荐
- Vim 一键编译、连接、运行 C/C++ 单文件(Windows 与 Linux通用)
- 一个c++程序里面可以有多少个.cpp文件,如果可以有多个,那么是怎么连接的,怎么运行的。
- iOS_02_第一个C语言程序(理解编译、连接、运行)
- 怎么让C++的程序连接C编译出来的库?
- C++编译错误,连接错误,运行错误
- gVim/Vim 一键编译、连接、运行 C/C++ 单文件
- 运行的前戏------编译连接全过程理解
- iOS_02_第一个C语言程序(理解编译、连接、运行)
- c/c++程序编译连接过程
- Java和C++在编译和运行上有什么区别?
- Notepad++配合MinGW直接编译运行C/C++代码的窍门
- c进行预处理、编译、连接、运行是做什么
- 执行的前戏------编译连接全过程理解
- C++程序编译运行后窗口一闪而过问题
- 由mitab学到一些关于编译和运行的理解
- 终端下编译运行一个简单C++程序流程
- vim 一键编译运行C、C++等程序
- (Ubantu)使用gcc编译一个程序a.c成a.out,输入a.out运行,提示bash:a.out:command not found,怎么回事
- 编写的exe在别的机器上运行的时候总是报错 "找不到MSVCR100.dll 请重新安装",编译的机器上又不会报,这是怎么回事啊?是不是因为编译的机器上有特殊的配置?
- VC++ 6.0的使用——编译,连接,运行