- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINUX程序的设计
淘宝才智专线 / Linux程序设计 课程主要内容 Linux程序设计基础 Shell程序设计 文件操作 终端 数据管理 开发工具 调试 用GTK+进行GNOME编程(选) 教材 Neil Matthew, Richard Stones著,陈健、宋健建译,Linux程序设计(第4版),人民邮电出版社 成绩构成 实验成绩 考勤、课堂练习 期末考试 第1章 Linux程序设计基础 1.1 简介 Linux程序员可用的部分编程语言: Ada, C, C++, Fortran, Java, Javascript, Pascal, Perl, Python, PHP …… Linux程序 Linux程序表现为两种特殊类型的文件: 可执行文件:相当于Windows中的.exe文件 脚本文件:一组指令的集合,这些指令将由另一个程序(即解释器)来执行。相当于Windows中的.bat, .cmd文件 Linux并不要求可执行文件或脚本文件具有特殊的文件名或扩展名。通过文件属性来指明一个文件是否为可执行的程序。 PATH变量 当登录进Linux时,用户与一个shell程序(通常是bash)进行交互,它在一组指定的目录路径下按照用户给出的程序名搜索与之同名的文件。搜索的目录路径存储在shell变量PATH里。 PATH变量的例子: /usr/local/bin : /bin : /usr/bin: . : /home/neil/bin 用冒号分隔PATH变量里的条目 文本编辑器 Vi emacs C语言编译器 在Linux系统中,C语言编译器通常是gcc。 1.2 开发系统导引 对Linux开发人员来说,了解软件工具和开发资源在系统中存放的位置是非常重要的。 本节主要介绍一些重要的文件和目录: 应用程序 头文件 库文件 1. 应用程序 系统为正常使用提供的程序,包括用于程序开发的工具,都可在/usr/bin中找到; 系统管理员为某个特定的主机或本地网络添加的程序通常可在目录/usr/local/bin或/opt中找到。 2. 头文件 对于C语言来说,头文件几乎总是位于/usr/include目录及其子目录中。那些依赖于特定Linux版本的头文件通常可在目录/usr/include/sys和/usr/include/linux中找到。 在调用C语言编译器时,可以使用-I标志来包含保存在子目录或非标准位置中的头文件。例: gcc –I /usr/openwin/include fred.c 它指示编译器不仅在标准位置,也在/usr/openwin/include目录中查找程序fred.c中包含的头文件。 3. 库文件 库是一组预先编译好的函数的集合,这些函数都是按照可重用的原则编写的。 标准库文件一般存储在/lib和/usr/lib目录中。 库文件的名字总是以lib开头,随后的部分指明这是什么库,文件名的最后部分以.开始,然后给出库文件的类型: .a 代表传统的静态函数库; .so代表共享函数库。 例: libm.a libc.so 库文件的使用 例:$ gcc –o fred fred.c /usr/lib/libm.a该命令要求编译器编译文件fred.c,产生可执行文件fred,并且除了搜索标准的C语言函数库外,还搜索数学库libm.a以解决函数调用的问题。 以上命令也可写成:$ gcc –o fred fred.c -lm其中的-lm是简写方式,它代表的是标准库目录(/usr/lib)中名为libm.a的函数库。 -lm标志的另一个好处是,如果有共享库,编译器会自动选择共享库。 静态库 静态库,也称作归档文件(archive),按惯例,它们的文件名都以.a结尾。例: 标准C语言函数库/usr/lib/libc.a X11函数库/usr/lib/libX11.a P9实验 静态库 静态库的缺点:当你同时运行许多应用程序并且它们都使用来自同一个函数库的函数时,内存中就会有同一函数的多份副本,而且在程序文件自身中也有多份同样的副本。这将浪费大量的内存和磁盘空间。 共享库 共享库的保存位置与静态库相同,但其扩展名不同。共享库的扩展名为.so。 当一个程序使用共享库时,它的链接方式是:程序本身不再包含函数代码,而是引用运行时可访问的共享代码。当编译好的程序被装载到内存中执行时,函数引用被解析并产生对共享库的调用,如有必要,共享库才被加载到内存中。通过这种方法,系统可以只保留共享库的一份副本供许多应用程序同时使用,并且在磁盘上也仅保存一份。 共享库的优点 当多个进程使用同一共享库时,Linux将共享库中存放可执行代码的内存进行共享。因此,无论有多少个程序要使用某
您可能关注的文档
- J银行机构业务营销的策略.doc
- k17汽车销售顾问的职业规划.ppt
- K275烟蒂回收利用的研究上海大学附属中学武军哲1229957陆宇洋1140122等.doc
- K24+510机耕天桥施工的方案.doc
- K12对外汉语课堂教学实用的技巧.ppt
- K12的研究性学习化学小组开题的报告.ppt
- k5f高一复习的资料政治.doc
- k62 325碑垭沟大桥桩基施工的方案.doc
- k4t第2章Project管理的项目的一般流程.ppt
- k5w法规标题四川省粮食质量监管实施细则.doc
- 甘肃省酒泉市金塔县等4地2024-2025学年高一上学期11月期中考试数学试题【含解析】.pdf
- 浙江省宁波市余姚中学2024-2025学年度高二上学期10月月考数学试题【含解析】.docx
- 河南省商开大联考2022-2023学年高一上学期期中考试数学试卷【含解析】.pdf
- 重庆市开州中学2024-2025学年高二上学期第一次月考数学试题【含解析】.docx
- 云南省昆明仁泽中学2024-2025学年度高二上学期10月月考数学试卷【含解析】.docx
- 《环境文本数据加工处理技术规范》.pdf
- 《区域大气环境承载力监测预警技术规范》.pdf
- 《环境空气温室气体光声光谱法连续自动监测仪技术要求及检测方法》.pdf
- 《美丽城市建设数据分级分类规范》.pdf
- 《大数据优化区域空气质量模拟排放输入数据技术规范》.pdf
最近下载
- 网络预约出租汽车企业安全生产责任制和事故报告制度.pptx
- SY-T 5051-2009 钻具稳定器-石油天然气行业标准.pdf VIP
- 22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).docx
- 模板支架验收记录表.doc
- 标准个人租房合同模板.pdf VIP
- 2024年全国疾控系统大学习实验室质量控制规范答案.docx VIP
- 2024-2025学年初中道德与法治七年级(全一册)统编版(五四学制)(2024)教学设计合集.docx
- 小学劳动教育五年级下册第五单元2《维修凳子》教学设计.docx
- 北师大版五年级数学上册第五单元《分数的意义》(大单元教学设计).docx VIP
- 简易呼吸球囊.ppt
文档评论(0)