10个问题(程序员的自我修养)

  想了解一些计算机底层的知识,于是买了本《程序员的自我修养》,耐着性子看了一遍,好像是看明白了,原来是这么回事啊,合上书,书上咋说来着。凉凉!!!

我想一定是方法有问题,于是打算再看一遍,这次看书,要带着10问题,也是书中开篇提到。

  1、程序为什么要在编译器编译之后才可以运行?

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

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

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

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

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

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

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

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

  10、了解以上这些内容,对我们有什么帮助?(自己加的)

后续会一一解答上面的问题。

 

转载于:https://www.cnblogs.com/ITgaozy/p/9403797.html

你可能感兴趣的:(操作系统,c/c++,嵌入式)