首页 > 代码库 > "Hello World " —— 深入理解程序从编译到执行
"Hello World " —— 深入理解程序从编译到执行
对于C语言编写的Hello World程序(例如以下)。对于程序猿来说肯定如雷贯耳,就是这样一个简单的程序,你真的了解她吗?
#include <stdio.h> int main() { printf("Hello World\n") return 0; }
对于以下这些问题,你脑子里可以立即反映出一个清晰、明显的答案吗?
- 程序为什么要被编译器编译之后才干够执行?
- 编译器在把C语言程序转换成能够执行的机器码的过程中做了什么?怎么做的?
- 最后编译出来的可执行文件中面是什么?除了机器码还有什么?他们怎么存放的?怎么组织的?
- #include <stdio.h>是什么意思?把stdio.h包括进来意味着什么?C语言库又是什么?它怎么实现的?
- 不同的编译器(Microsoft VC、GCC)和不同的硬件平台(x86、SPARC、MIPS、ARM),以及不同的操作系统(Windows、Linux、UNIX、Solaris),终于编译出来的结果一样吗?为什么?
- Hello World程序是怎么执行起来的?操作系统是怎么装载它的?他从哪里開始执行?到哪儿结束?main函数之前发生了什么?main函数结束之后又发生了什么?
- 假设没有操作系统,Hello World能够执行吗?假设要在一台没有操作系统的机器上执行Hello World须要什么?应该怎么实现?
- printf是怎么实现的?他为什么能够有不定数量的參数?为什么它能够在终端上输出字符串?
- Hello World程序在执行时。它在内存中是什么样子的?
"Hello World " —— 深入理解程序从编译到执行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。