- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
漫谈Linux,龙芯及其软件开发演示文稿
漫谈Linux,龙芯及其软件开发 陈华才 2010.03 目录 Linux及相关概念 Linux开发者初步教程 Linux及相关概念 Linux及相关概念(续) X86是使用最广泛的CPU,Linux是使用最广泛的操作系统 FreeBSD是Unix的一种,可以跑在X86 PC上 龙芯(Godson,Loongson)是MIPS的一种 Linux及相关概念(续) Q:Windows和Linux啥关系? A:决定于在什么平台上:如果同在X86上,Windows和Linux好比是中国人和美国人的关系(近)。但X86上的Windows和龙芯上的Linux则如同地球人和火星人的关系(远)在Linux/X86上,可以用Wine来运行Windows程序,但Linux/Loongson上则不行 Q:Linux/X86与Linux/Loongson啥关系? A:一样的皮肤(表象),不一样的基因(本质)从应用层面和源代码的高级语言层面看来,几乎完全一样。从编译后的二进制代码看来,完全不同。 Linux与龙芯 龙芯CPU系列 龙芯一号:32位嵌入式MIPS CPU 龙芯二号:64位通用MIPS CPU,有2A、2B、2C、2D、2E和2F等型号(从2E开始进入实用阶段) 龙芯三号:64位多核MIPS CPU,目前只有3A Linux最初只支持X86,后来扩展到其他平台 Linux-2.6.23:开始支持龙芯2E Linux-2.6.33:开始支持龙芯2F Linux开发者初步教程 Q:Linux有没有VC?有没有Java?有没有……? A:Linux支持C,C++,Java,Pascal,ADA……几乎地球上的每一种编程语言。但,Linux不支持VC,因为VC不是语言,是IDE(集成开发环境) Q:Linux有没有IDE? A:有。Qt Creator,KDevelop,Glade…… Linux开发者初步教程(续) 如果不用IDE…… 编辑器+编译器+调试器 编辑器:Vim,Emacs,KEdit,GEdit…… Vim插件,如cscope,ctags可用于函数定位 如果不用插件,文件内用/命令有哪些信誉好的足球投注网站,目录内用grep命令有哪些信誉好的足球投注网站,find用于文件名有哪些信誉好的足球投注网站…… 编译器:gcc,jdk…… gcc = GNU C Compiler ? GNU Compiler Collector 调试器:gdb,ddd…… Linux可以在纯文本环境下开发任意程序,包括GUI程序! Linux开发者初步教程(续) 关于跨平台 源代码跨平台 vs. 目标代码跨平台 前者是一次编写,处处编译(Qt/C++) 后者是一次编译,处处运行(Java) 跨操作系统 vs. 跨硬件平台 Wine,Cygwin等API模拟器即可实现跨操作系统(硬件平台相同) Java,Python脚本语言才可以跨硬件平台 如何参与Linux软件开发? Linux User当久了,想成为一个Linux Developer 1,作为用户,给开发者提需求 2,作为测试员,给开发者反映Bug 3,包装开发,如制作RPM、DEB等软件包 4,直接参与代码编写 如何阅读代码? 参与代码编写第一步,阅读已有的代码 一个动辄上万行代码的工程,如何读懂,从哪里读起? 1,如果有文档/书籍,参照阅读 2,如果没有文档(自由软件大都文档不全) 找准入口点 理清主脉络 顾名思义看功能 如何阅读代码?(续) 找准入口点 高级语言(C语言) 应用程序:从main()开始 内核模块:从XXX_init()开始有哪些信誉好的足球投注网站关键语句module_init(XXX_init); 内核本身:Linux内核从__start_kernel()开始Xen内核从__start_xen()开始 汇编语言 可能从start/_start等类似词汇的标号处开始,大多会用.global/.globl伪指令标识 如何阅读代码?(续) 理清主脉络 去粗取精,眼不见为净,去掉没用的,留下有用的。 1,代码 vs. 注释 去掉//… /*…*/ #if 0 … #endif 2,程序流程 vs. 变量声明 去掉变量声明,简单赋值 3,功能语句 vs. 调试语句 去掉printf(), printk(), debug()… 4,正常流程 vs. 异常流程 去掉返回值检查,try-catch中的catch子句…… 5,常见路径 vs. 罕见路径 Switch,if-else结构等只保留最常见的一种情况 如何阅读代码?(续) 举例:Gxemul 一个运行在X86上的龙芯模拟器 入口点是main()函数 最终处理 去掉参数处理,内存分配/释放操作 … 顾名思义看功能 几点看法 学习Linux ≠ 仇视Windows 存在的就是合理的,Wi
您可能关注的文档
最近下载
- 高平市各级文物保护单位一览表(2022版).docx
- 学前教育考试试卷(共六套)及答案.pdf
- 产业经济学(双语)智慧树知到答案章节测试2023年山东财经大学.docx
- 人教版八年级物理上册 第二章 声现象 单元测试卷(2024年秋).pdf VIP
- WS T 808—2022 基层医疗卫生机构标识设计标准.pdf VIP
- 无源光网络(PON)网络管理技术要求 第3部分:网络管理系统(NMS)系统功能.pdf
- 国际制药工程协会(ISPE)制药工程基本指南水和蒸汽系统.pdf VIP
- 2023-2024学年七年级语文下学期期中期末课内备考与专项复习(部编五四制)(上海专用)12课外文言文(一)翻译技巧(原卷版+解析).docx VIP
- 《国行公祭,为佑世界和平》优课一等奖课件.pptx VIP
- 劳动合同书(2006年).doc VIP
文档评论(0)