一段C语言程序从编译的到软件打开整个过程是怎样的?
如题,大致的我明白就是编译器转成二进制然后给CPU然后输出,谁能给我细讲下,多谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如题,大致的我明白就是编译器转成二进制然后给CPU然后输出,谁能给我细讲下,多谢了
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
<程序员的自我修养,装载,链接和库>
这里有一篇简单的文章:
编译器的工作过程
书的话,上面推荐的 <程序员的自我修养,装载,链接和库> 不错。
就是编译链接运行三个步骤。
推荐本书 深入理解计算机系统 第二版
编译:一个 C 程序的艺术之旅
比如你编译使用的是cc,那么cc就是会对源代码进行解释,这些解释具体你也不用知道,你就知道cc可以把c源码转化成汇编,再到机器码,到了机器码就是cpu可以识别出来的操作指令了,
运行是怎么回事呢?
举个例子比如在shell下执行某个文件,那么shell就会创建一个子进程,然后子进程会调用exec,这个函数是对其他应用程序的引用,也就是进入你指定的可执行程序,在指定了子进程的进程表,u区等等初始化好之后,进入相应的区就可以了,不知道这个解释你能不能理解。因为这里面的细节太多了。