免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 660 | 回复: 0
打印 上一主题 下一主题

可移植·放弃·不求甚解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-19 14:25 |只看该作者 |倒序浏览
    ldd3作为宝典和圣经一样被追捧自有其道理,至少我们办公室人手一本就是最好的证明。只是就像是bible也难免有错别字一样,只是按照ldd机械的照本宣科不求甚解终究会有问题。
    大学毕业的时候曾经一心想要向linux发展,一心想要向底层开发发展,至今仍能回想到的一次去一个公司笔试linux驱动相关工作的经历。那份试题如果现在回头去看,绝对是笑话满篇,而由于笔试的那家公司需要的不是学生而是有经验的人员,我终究还是没有开始梦想中的工作。如今,真正在做些事情之后,却发现梦想依然在遥不可及的地方。
    打住不伦不类的“怀旧”例程,说说实际的问题,就是:不清楚基于linux的底层开发,有多少和ldd上描述的情景一丝不差的符合。我觉得大多还是基于arm或者mips或者ppc之类的应用,ldd上说的却恰恰是386,于是,如果仅仅是kernel的driver app接口也就好,如果是涉及通用的内核机制也好,ldd确实真正的bible,速查手册。如果是设计bus和io,ldd却可能对那些头脑不太清楚的developer产生误导。
    比如我们这边“悬而未决”的一个如何设置gpio寄存器的问题,就是在ldd的“教导”下,采用“可移植”的写法,使用writel这样的接口函数操作数据,结果呢,哈哈。当然是失败了。以至于,在别的情况下,裸板的程序反而没有问题,终究是归结到“诡异”二字。因此将相应的设置工作放到bootloader中去做,很是诡异。
    其实对于这些所谓的“可移植”,“大小端”问题,具体的还是看看kernel代码中的实现比较保险,如果是盲目的相信和“不求甚解”,那终究还是有问题的。kernel虽然很牛,仍然far from perfect,所以,“不求甚解”是不行的。“放弃”更加......

    PS:如果不是有open source高尚的精神熏陶,如果不是道德和良知,真不想给company留下“可移植”的代码。终于还是放弃了......

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17564/showart_445574.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP