编译与链接

0.引言

     对于平常的应用程序开发,我们很少需要关注编译和链接过程,因为通常的开发环境都是
流行的集成开发环境(IDE),比如 Visual Studio、Delphi等。这样的IDE一般都将编译和链
接的过程一步完成,通常将这种编译和链接合并到一起的过程称为构建(Build)。即使使用命令
行来编译一个代码文件,简单的一句“gcc hello.c”命令就包含了非常复杂的过程。


     IDE和编译器提供的认配置、编译和链接参数对于大部分的应用程序开发而言已经足够使
用了。但是在这样的开发过程中,我们往往会被这些复杂的集成工具所提供的强大功能所迷惑,很
多系统软件的运行机制与机理被掩盖,其程序的很多莫名其妙的错误让我们无所适从,面对程序运行
时种种性能瓶颈我们束手无策。我们看到的是这些问题的现象,但是却很难看清本质,所有这些问
题的本质就是软件运行背后的机理及支撑软件运行的各种平台和.工具,如果能够深入了解这些机制,
那么解决这些问题就能够游刃有余,收放自如了。

1.被隐藏了的过程

    C语言的经典,“Hello World”程序几乎是每个程序员闭着眼睛都能写出的,编译运行通过一气呵成,
基本成了程序入门和开发环境测试的认的标准。


#include <stdio.h>

int main ( )
{
   printf { "Hello world\n" );
   return 0 ;
}


在Linux 下,当我们使用GCC来编译Hello World程序时,只须使用最简单的命令
(假设源代码文件名为hello.c):
$gcc hello.c
$./a.out
Hello world

相关文章

作为一名初次使用MaxCompute的用户,我体会颇深。MaxCompute...
近日,CloudToolkit正式推出了面向IntelliJ和Eclipse两个平台...
PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Pyth...
标题: 【下载】APK可视化修改工具:APK改之理(APKIDE)作者...
背景描述有时候Python应用的代码在本地开发环境运行十分正常...
1.注册SAP账号登录SAP官网:https://www.sap.com/index.html...