当前位置:  技术问答>linux和unix

问个比较弱智的问题:研究linux内核完全注释,有些疑惑——init/main.c中的fork

    来源: 互联网  发布时间:2015-11-14

    本文导语:  我发现在所有包内都没有fork函数的实现,我知道它是标准函数之一。 是不是在编译内核的时候,就把相应的库函数替换成了二进制代码? 因为在该内核所有源程序当中,都没有包含类似的文件。 难道编译的时候,...

我发现在所有包内都没有fork函数的实现,我知道它是标准函数之一。
是不是在编译内核的时候,就把相应的库函数替换成了二进制代码?
因为在该内核所有源程序当中,都没有包含类似的文件。

难道编译的时候,所有都已经编译成为汇编代码或者二进制代码?

另外:gcc编译器编译自己写的程序的时候,是在某个操作系统之上运行的;但假如没有操作系统,
编译内核代码时候,gcc是在那个环境上运行进行编译啊?很不明白哦

|
在main函数的开头不是有一条语句是这样的吗:
static inline _syscall0(int,fork)
你需要结合到unistd.h文件中的宏_syscall0来看上面一句代码
等你把unistd.h文件中的宏_syscall0看懂了,再看懂static inline _syscall0(int,fork)就明白了
提示一下:
static inline _syscall0(int,fork)就是通过宏_syscall0替换后,就变成fork函数的实现了,也就是你所说的为何没有在什么地方看到fork的实现

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 刚刚才真正的用上了freebsd,发现了一些问题,比较疑惑。。
  • 一个简单但对我来说比较疑惑的问题(submit)的提交原理
  • C++ Maps 成员 key_comp():返回比较元素key的函数
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • C++ Maps 成员 value_comp():返回比较元素value的函数
  • 问一下,现在比较新比较好的MYSQL版本和JDBC版本
  • C++ MultiMaps 成员 key_comp():返回比较key的函数
  • SOCKET 比较是在比较什么 急
  • C++ MultiMaps 成员 value_comp():返回比较元素value的函数
  • 问一个比较简单的问题 frame 的 setSize()放在那里比较合适
  • C++ Double Ended Queues(双向队列) 成员 Operators:比较和赋值双向队列
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 用java读一个比较大的文本文件(几百k~几M)怎么才能比较快?
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • "400分给有比较好的字符串比较的算法的朋友"要结帖,想做笔迹保留的不可漏看哦
  • C++ Strings(字符串) 成员 compare():比较两个字符串
  • arm-linux-gcc 在哪下载比较好,历史版本比较齐?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 问一个比较简单的问题 请不要见笑 frame 的 setVisible()放在那里比较合适?
  • C++ Bitsets 成员 Operators:比较和赋值bitsets
  • 在JSP中用session比较好?还是cookie比较好?因为什么?
  • STL vector+sort排序和multiset/multimap排序比较
  • 请大家帮忙推荐几款linux下比较好用的看jpeg图和看mpeg4比较好用的软件!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3