UDN-企业互联网技术人气社区

板块导航

浏览  : 1457
回复  : 0

[干货] 读薄「Linux 内核设计与实现」(1) - 从内核出发

[复制链接]
开花包的头像 楼主
发表于 2017-1-2 22:36:43 | 显示全部楼层 |阅读模式
  0x00 内核编程特点

  无 libc 库,不能访问标准 C 文件

  使用 GNU C

  无内存保护机制

  慎用浮点数计算

  注意同步和并发

  可移植性考虑:保持字节顺序、64位对齐、不假定字长和页面长度

  0x01 GNU C

  内联函数:将函数展开至调用位置,省却函数调用代价

  内联汇编:在确定体系结构的情况下,在 C 代码中直接嵌入汇编代码

  分支声明:分支时可根据预知条件发生的概率进行优化

  例:

  1.   if(error){
  2. /* do something */
  3. }
复制代码


  优化后:

  1.   if(unlikely(error)){ //error为0的概率大
  2. /* do something */
  3. }
复制代码


  或:

  1.  if(likely(success)){ //success为0的概率大
  2. /* do something */
  3. }
复制代码


原文作者:远航  来源:开发者头条

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部