编译和连接(转载)

来源:互联网 发布:access数据库主键 编辑:程序博客网 时间:2024/06/06 21:59

编译:1、利用编译程序从源语言编写的源程序产生目标程序的过程。
编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

 

连接:
用来把要执行的程序与库文件或其它已经编译好的子程序(能够完成一种独立功能的子模块)连接在一起,形成机器能执行的程序。
连接的作用:
1、当源文件很大时,需要分成多个源文件来编译,当每个源文件被编译成多个目标文件后,再用连接程序把每个小的目标文件连接起来,生成一个可执行文件。
2、当程序中调用了库文件中的子文件时,需要将这个库文件和生成的目标文件连接在一起,生成一个可执行文件。
3、当一个源文件经过编译后生成的目标文件还是不能直接生成可执行文件时,需要用连接程序将这些内容处理为最终的可执行信息。


linux编译c/c++程序:
gcc -o hello hello.c
gcc -o object file1.c file2.c
./object来运行

原创粉丝点击