记录一下面试以来遇到的Linux&编译原理相关问题及解答

Linux相关问题及解答

简述fork创建新进程的机制

涉及公司:阿里云实习生

TODO

简述select和epoll的区别

涉及公司:腾讯实习生

TODO


编译原理相关问题及解答

静态链接和动态链接的区别

涉及公司:阿里云实习生

TODO

一个C语言程序编译生成机器码的过程

涉及公司:阿里云实习生

这个过程主要分为编译、链接、装载三个步骤,在编译过程中,C语言程序会被编译为汇编代码,再进一步被转换为机器码;在链接过程中,会将该程序调用的各种库与程序链接起来生成一个可执行文件,在装载过程中会去替换机器码中的一些相对地址吗,把它们替换为链接库的绝对地址,最后这个程序就可以运行了。

编译整个过程有哪些具体的阶段

涉及公司:阿里云实习生

TODO

词法分析语法分析

涉及公司:阿里云实习生

TODO