精通unix下c语言编程与项目实践笔记

精通unix下c语言编程与项目实践笔记

ID:15410961

大小:451.97 KB

页数:78页

时间:2018-08-03

精通unix下c语言编程与项目实践笔记_第1页
精通unix下c语言编程与项目实践笔记_第2页
精通unix下c语言编程与项目实践笔记_第3页
精通unix下c语言编程与项目实践笔记_第4页
精通unix下c语言编程与项目实践笔记_第5页
资源描述:

《精通unix下c语言编程与项目实践笔记》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第一篇:起步篇千里之行,始于足下。第一章UNIX初步UNIX自1969年诞生以来,已经发展为SystemIII&V、BSD和Linux三大分支。UniX通过shell与用户交互,它是用户与系统间的界面。使用好shell对于学习使用UNIX来说是必须的。不需要你记住所有的命令,但基础的文件操作、目录操作及系统命令等却是必须的。Vi对于初学者是难点,不过只要通过一段时间的练习就能习惯;而且你会很快发现,它功能强大、更加灵活。这里不多说了:)第二章编程套件学习UNIX对于初学者有几种选择。一种就是最直接的,在本机上安装UNIX系统,不如说Li

2、nux分支中的RedHat等;一种是在Windows环境下使用虚拟机方式安装UNIX系统;另一种则是使用网络终端登录到网络环境中的某个UNIX系统中。如果你相对黑洞洞的UNIX字符界面更喜欢舒适美观的Windows界面,那么推荐你选择第三种方式。开发套件包括:编辑器UltraEdit、网络终端SecureCRT或其他。编译器就不用说了,自然是cc(gcc或xlc系列)。这是C语言开发必不可少的。其中要注意-I(加载头文件路径)、-L(加载库文件路径)及-D(宏定义)参数的使用。Make工具使用。如何编写makefile是关键。后面项目中

3、使用时会详细介绍。Gdb调试器。Gdb乃符号级调试工具,它控制程序的内部执行,利用断点设置、单步运行等手段,将程序的执行过程逐步展示在调试者目前。这种调试方式在短代码中可以发挥得很好。事实上,随着软件项目的扩大化、复杂化和分布化,很少有程序员直接通过Gdb等工具调试;使用日志记录调试方法比Gdb等调试工具更为便捷和广泛。C工具:lint检查源代码是否正确,gprof分析程序时间消费量,cflow生成C语言流程图。第三章库的使用库分静态库和动态库两种。静态库的操作工具:ar命令。编写及使用静态库(1)设计库源码pr1.c和pr2.c[ro

4、ot@billstonemake_lib]#catpr1.cvoidprint1(){printf("Thisisthefirstlibsrc!");}[root@billstonemake_lib]#catpr2.cvoidprint2(){printf("Thisisthesecondsrclib!");}(2)编译.c文件[bill@billstonemake_lib]$cc-O-cpr1.cpr2.c[bill@billstonemake_lib]$ls-lpr*.o-rw-rw-r--1billbill8044月151

5、1:11pr1.o-rw-rw-r--1billbill8044月1511:11pr2.o(3)链接静态库为了在编译程序中正确找到库文件,静态库必须按照lib[name].a的规则命名,如下例中[name]=pr.[bill@billstonemake_lib]$ar-rsvlibpr.apr1.opr2.oa-pr1.oa-pr2.o[bill@billstonemake_lib]$ls-l*.a-rw-rw-r--1billbill18224月1511:12libpr.a[bill@billstonemake_lib]$ar-tli

6、bpr.apr1.opr2.o(4)调用库函数代码main.c[bill@billstonemake_lib]$catmain.cintmain(){print1();print2();return0;}(5)编译链接选项-L及-l参数放在后面.其中,-L加载库文件路径,-l指明库文件名字.[bill@billstonemake_lib]$gcc-omainmain.c-L./-lpr[bill@billstonemake_lib]$ls-lmain*-rwxrwxr-x1billbill118054月1511:17main-rw-rw

7、-r--1billbill504月1511:15main.c(6)执行目标程序[bill@billstonemake_lib]$./mainThisisthefirstlibsrc!Thisisthesecondsrclib![bill@billstonemake_lib]$编写动态库(1)设计库代码[bill@billstonemake_lib]$catpr1.cintp=2;voidprint(){printf("Thisisthefirstdllsrc!");}[bill@billstonemake_lib]$(2)生成动态库

8、[bill@billstonemake_lib]$gcc-O-fpic-shared-odl.sopr1.c[bill@billstonemake_lib]$ls-l*.so-rwxrwxr-x1billb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。