使用c语言编写,调用接口函数_start()
/* hello_start.c */
#include<stdio.h>
#include<stdlib.h>
_start(void)
{
printf("hello world!\n");
exit(0);
}
编译:root@ubuntu-daisy:~/daisy_c# gcc test.c -nostartfiles -o test
root@ubuntu-daisy:~/daisy_c# ./test
Hello World!
c语言程序从源代码到可执行程序过程:
从源代码(.c)到可执行文件一共分为五个步骤:
1、编译预处理 2、编译阶段 3、优化阶段 4、汇编过程 5、链接程序
编译预处理(.i) ------>"替代"成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件
编译阶段(.s) -------> 翻译成等价的中间代码表示或汇编代码
优化阶段(执行的效率的提高)
汇编过程(.o) ------> 生成相应的目标文件
链接程序 -------> 将有关的目标文件彼此相连接
一般用户用c语言开发时会调用一些库函数,编译成obj文件后,在链接过程中把库函数的二进制代码链接进入程序,最后形成二进制可执行文件。