从网上调查 别人学习 Unix下C语言编程学习经验,作为我学习这个方面技能的开始。
常用工具
操作系统
选择一个UNIX或Linux操作系统, 建议选择CentOS,在安装包中还提供很多实用的工具,如:gcc, make等。 可以使用VMware,通过VMware安装虚拟系统。
编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器。 大部分UNIX和Linux程序都是通过运行make来编译的。make工具会读取一个包含指令的文件 makefile,并执行各种操作来编译程序。
调试工具
最简单的调试工具:为你的程序添加打印语句!!!(即打印Log)。 常用调试工具: dbx,gdb等。 还有一些内存工具可以帮查找内存泄漏或缓冲区溢出等一些问题,如:memwatch,yamd等 文本编辑工具 vi或vim(vim是vi的升级版)。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。 在实际工作中,可能需要一个集成编码环境或一个功能强大的图形化编辑工具。
其他工具
netterm: 最著名的网络终端软件之一,可以使用它方便的连接到主机系统中。
Secure shell: 一个支持ssh协议的客户端工具,多数情况下用来连接linux系统
推荐书籍
《C 专家编程》 本书可以帮助有一定经验的C程序员成为C编程方面的专家,最关键的是本书寓教于乐,让你充分享受编程的乐趣。
《C缺陷与陷阱》 书中所揭示的知识能帮助您绕过C语言自身得陷阱和缺陷,减少代码中许多常见的Bug。
《unix环境高级编程》 Stevens先生的《unix环境高级编程》是我竭力推荐的和 必修的. 网络编程是我的方向之一,因此 学习 Stevens先生的《UNIX网络编程》两卷,以及《TCP/IP详解》三卷。
学习过程
学习C标准库
首先应着重对以下库进行学习:
ctype.h:字符处理
math.h:数学库
stdio.h:标准I/O库
stdlib.h:通用工具库
string.h:字符串处理
time.h:时间和日期
UNIX环境编程
Unix环境编程,你应该着重IO和进程两大块内容。 《Unix环境高级编程》中对Unix环境编程有着非常详细且深入的论述,而且书中有大量实用性例子程序,不过可能得花上几个月得时间,好好啃一啃了。
在扎实掌握以上内容,不代表C语言学习支路已经完成,相反,才刚刚开始。以后需要用学到得知识去解决大量不同的实际问题,在不断得实践过程中,会近一步加深对C的理解。有了以上基础之后,你会发现,在实践过程中需要的其他知识,你会非常快速的掌握。
学习方法
编程是一个实践性很强的工作,最好的学习方法就是边看书边调试代码,把书上的例子程序反复的修改调试运行,从中得到自己的体会。 在自己的学习或工作中写的一些测试的程序,要分门别类的保存下来,在以后的实际工作中不断的整理,日积月累就是一个很好资源库了。 要提高自己的编程能力,你还需要学习别人的代码,研究别人的代码是提高自己实际编程能力最好且最快的途径,现在网络上有很多价值很高的开源代码可供选择学习。 编程规范的问题:一般较为正规的软件公司都会有自己的一套编程规范,那么遵守就好;如果是自己学习的话,可以选择一个较为通用的规范,最好的方法就是看别人是怎么写代码的。