1. C语言的开篇(一)-HelloWorld
#include<stdio.h>
int main(int argc, int *argv)
{
printf("Hello world");
}
对于下面的问题是否能够清晰回答上来?
1.程序为什么被编译器编译运行了之后才可以运行?
2.编译器在把C语言程序转换为可以执行的机器码的过程中做了什么?如何做的?
3.最后编译出来可执行文件里面是什么?除了机器码还有什么?它们怎么存放及组织的?
4.#include<stdio.h>是什么意思?把stdio.h包含进来意味着什么?C语言库又是什么?它怎么实现的?
5.不同的编译器(Microsoft VC, GCC)和不同的硬件平台(x86、SPARC、MIPS、ARM),以及不同的操作系统(windows、Linux、UNIX、Solaris),
最终编译出来的结果一样吗?为什么
6.Hello World程序是怎么运行起来的?操作系统是怎么装在它的?它从哪里开始执行,到哪结束?main函数之前和之后发生了什么?
7.如果没有操作系统,Hello World可以运行吗?如果要在一台没有操作系统的机器上运行Hello world需要什么?应该怎么实现?
8.printf是怎么实现的?它为什么可以有不定量的参数?为什么它的能够在终端上输出字符串?
9.Hello World程序在内存中运行时,它在内存中是什么样子的?
如果你对上面的问题一知半解,本专题将为您逐一揭开谜底
Reference:
1.《程序员的自我修养》俞甲子,石凡,潘爱民著

浙公网安备 33010602011771号