找个师傅教我在LINUX下做软件开发

hj_545 2010-04-19 08:58:03
找个师傅教我在LINUX下做软件开发
本人只会C VB PHP SQL皮毛!
找个超级有耐心的师傅!
希望能教我在LINUX下开发图书管理系统类程序、QQ类聊天、系统管理类工具!
QQ:198832372
mail:198832372@qq.com
...全文
99 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qihuanfengyun 2010-04-20
  • 打赏
  • 举报
回复
哎,顶Google
  • 打赏
  • 举报
回复
2楼正解
atiansk2006 2010-04-20
  • 打赏
  • 举报
回复
good
spfbc 2010-04-20
  • 打赏
  • 举报
回复
Google。最好的老师。。。
unixlinuxsys 2010-04-20
  • 打赏
  • 举报
回复
你的环境搭建起来没有?
sikinzen 2010-04-20
  • 打赏
  • 举报
回复
通过上面几个步骤,掌握linux软件开发就没问题了。
sikinzen 2010-04-20
  • 打赏
  • 举报
回复
1. 安装 linux 操作系统

既然要学习linux下的c语言开发,那么安装个linux操作系统是必须的。建议安装Ubuntu,这是我目前见过界面最友好的linux操作系统了。关于如何使用Ubuntu以及在其上作开发,可参考我的另外一篇敝作《Ubuntu使用心得》:http://download.csdn.net/source/2206289

2. 熟悉 linux 操作系统下的命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。

关于linux下的命令,欢迎参考我blog上一篇文章《Linux命令整理》:http://blog.csdn.net/sikinzen/archive/2010/04/19/5503769.aspx

3. 学会一种源码编辑器

很多大牛推荐使用 vim/emacs之类的工具,但我还是用着不习惯,应该是我能力未到。我个人比较喜欢的开发方式是:在windows下编辑代码,在linux下编译。

我自己非常喜欢用SourceInsight来编辑代码,这个工具的使用可参考我blog上一篇文章《Source Insight的应用技巧、宏功能》:http://blog.csdn.net/sikinzen/archive/2010/04/09/5468511.aspx

4. 掌握gcc和gdb

掌握gcc的基本用法,并且会用gdb来调试程序。

5. 用好 C 语言

工作中发现:C语言大家都会,但核心思想就不一定都能理会。我自己觉得也只是摸到了门径,还需要实践锻炼。

推荐:《C陷阱与缺陷》、《C专家编程》、《C程序设计语言》。

6. 学会写makefile,以及用它来组织源码

当项目大了后,用命令行逐个逐个编译、link文件的工作量是非常恐怖的,这时候make就起作用,即使是很小的项目,我认为也应该采用make组织。

关于makefile,请参考网上文章《跟我一起写Makefile》或《GNU make中文手册》。这两篇文章都相当得好。

7. Linux应用编程

终于说到正题了,呵呵。

Linux上的应用编程基本上两本书就搞定了:《APUE》和《UNP》,前者锻炼基本功,后者学习网络编程。

这边我直接引用网上某位先生的评论:

如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。 然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。

8. Linux驱动与内核编程
驱动程序的门槛较高,首先你要学会Linux应用编程,至少看过《APUE》。

驱动编程的主要工作我认为至少有两点:理解linux内核框架和模块的概念、懂得看芯片datasheet。

第一点其实就是先学会编写一个测试驱动程序。

推荐经典教材:《linux设备驱动程序》。

另外,还有 《深入理解Linux内核》。

最重要的是:手头要有一块嵌入式板子进行实践。

9. 掌握一种 cvs 工具

如果不懂cvs的话,赶紧到 baidu 搜索下。不用cvs的项目很容易面临代码丢失的问题,且不易做bug回归。

10. 数据结构和算法

上过计算机基础课的人都知道:程序=数据结构+算法。这两项才是程序员的根本,如同武侠小说中的“内功”。 有时间的话建议重温这两部分。推荐书籍:《Algorithms in C》、《算法导论》

呵呵,其实这一小块我没有发言权,我自己是从自动化专业转行来写程序的,数据结构和算法都没学过,目前正在自学恶补中。

后记:

通过上面几个步骤,我想成为一个称职的linux程序员是没问题了。但如果要成为专家的话,我自己觉得还应该为自己选好方向并努力前进。

让我们一块努力!



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sikinzen/archive/2010/04/19/5503883.aspx
challenge99 2010-04-20
  • 打赏
  • 举报
回复
先学会用linux, 然后看看 http://www.china-pub.com/23911
hj_545 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 unixlinuxsys 的回复:]
你的环境搭建起来没有?
[/Quote]
要建什么环境?LINUX?
我搭建过UBUNTU的WEB,FTP服务器,ISPCONFIG等环境,你只要告诉我搭建什么我很快能搞定!
我现在就知道LINUX下用GCC编译C!
hj_545 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 spfbc 的回复:]
Google。最好的老师。。。
[/Quote]
我连门都没入,GOOGLE什么都不知道哇!

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧