C语言——"Hello World"与编译过程

来源:互联网 发布:炒黄金 知乎 编辑:程序博客网 时间:2024/05/20 07:31

C语言——HelloWorld

#include<stdio.h>int main(){    printf("Hello World\n");    return 0;}
  1. include < stdio.h > 预处理指令
    include包含文件,<>表示包含系统头文件stdio.h。

  2. int main( ) { } 主函数
    int为函数返回类型,main表示函数名,( )为形参列表,{ }为函数主体,main函数为所有程序的入口,且只有一个。

  3. printf(“Hello World\n”);
    printf( ) 为输出函数,定义存在于stdio.h头文件中,在函数中做以调用,Hello World为一个字符串,使用时用”“包括,在此处作为printf函数的实参,\n 是转义字符,表示换行。

  4. return 0;
    函数的返回参数,0 为返回值或者表达式,是状态量,标志返回成功。


C语言程序编译链接过程

C语言程序生成时主要分为四个过程,包括预编译、编译、汇编和链接。

Created with Raphaël 2.1.0源代码(.c/.cpp)源代码(.c/.cpp)预处理后的代码(.i)预处理后的代码(.i)汇编代码(.s)汇编代码(.s)目标代码(.obj/.o)目标代码(.obj/.o)可执行程序(.exe)可执行程序(.exe)预编译编译汇编链接
  1. 编译预处理,如头文件包含指令”# include < stdio.h >“。
    采用头文件的目的是为了使某些定义可以供给多个不同的C源程序使用。
    包含到C源程序的头文件可以是系统提供的,一般被放在/user/include目录下,在程序#include中使用尖括号(<>)。

  2. 编译、优化阶段
    编译程序所要做的工作就是通过词法和语法分析,在所确认的所有指令都符合语法规则之后,将其翻译成等价的中间代码或汇编代码。
    优化一部分是对中间代码的优化,这种优化不依赖于具体的计算机。另一种则主要针对目标代码的生成而进行的。

  3. 汇编
    汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程,C源程序经过这一处理得到相应的目标文件,目标文件所存放的就是与源程序等效的目标机器语言代码。

  4. 链接过程
    链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够被操作系统装入执行的统一整体。

原创粉丝点击