《程序员的自我修养》中以 hello,world 引出的问题你知道几个?

hen_hao_ji hen_hao_ji 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include <stdio.h>

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


1. 程序为什么要被编译器编译了之后才可以运行?

2. 编译器在把C语言程序转换成可以执行的机器码的过程中做了什么,怎么做的?

3. 最后编译出来的可执行文件里面是什么?除了机器码还有什么?它们怎么存放的,怎么组织的?

4. #include<stdio.h>是什么意思?把stdio.h包含进来意味着什么?C语言库又是什么?它怎么实现的?

5. 不同的编译器(Microsoft VC, GCC)和不同的硬件平台(x86, SPARC, MIPS, ARM),以及不同的操作系统(Windows,Linux, UNIX, Solar), 最终编译出来的结果一样吗?为什么?

6. Hello World 程序是怎么运行起来的? 操作系统是怎么装载它的? 它从哪儿开始执行,到哪儿结束?main函数之前发生了什么? main函数结束以后又发生了什么?

7. 如果没有操作系统,Hello World可以运行吗?如果要在一台没有操作系统的机器上运行Hello World需要什么?应该怎么实现?

8. printf是怎么实现的?它为什么可以有不定数量的参数?为什么能够在终端上输出字符串?

9. Hello World程序在运行时,它在内存中是什么样子的?
...全文

相关推荐

评论 64
收藏 已收藏
分享
返回顶部
hen_hao_ji
C++ 语言 65,214 成员 250,514 内容