下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

成为一个linux开发人员都要学什么?

作者:课课家教育     来源: http://www.kokojia.com点击数:865发布时间: 2016-02-01 18:11:13

标签: LinuxLinux开发Linux教程

  当前Linux作为server、database服务器、开发平台,嵌入式实时OS的作用都随着平台的发展, 越来越成熟, 产品的使用度也越来越高, 掌握linux作为application开发,嵌入式开发都成为优秀开发人员攻克的技术之一.

成为一个linux开发人员都要学什么?_Linux_Linux开发_Linux教程_课课家

  但首先,开发者要了解在linux下的几个之最:

  最有用开发语言: C/C++

  最流行的工具集: gtk/gdk,qt/e

  最好的可视化开发工具: glade,designer,kdeveloper

  最cool的代码阅读工具: source navigator

  最普及的调试工具: gdb, ddd , anjuta

  最高级(主要指价格高级)的程序跟踪工具: BDM,ICE

  最强大的开发平台: Redhat linux 6~8, Turbolinux 6~7,Hard Hat linux(HHL), Blue cat linux

  最快但最年青(年青就是不成熟,吃不得)的图形:nano-X,microWindows,minigui

  部分名词的意思:

  gtk/gdk: 做 GIMP(linux很有名的图象处理软件的工具集

  qt: trollteck公司的产品,有qt/x11跟qt/embedd

  glade: 开发gtk/gdk程序的图形工具,能完成界面的编辑(这比用VI做界面好10^n 倍,本人曾经用vi 以每天2000行程序的速度写过gtk的应用,整整写了一个月,后来用glade用重来,一周就完成了)

  anjut: 非常方便,功能强大的调试工具,程序出错不用再一行行试了,用它一目了然。

  designer: 开发qt/x11程序的图形工具,能完成界面的编辑,也可以开发qt/embedded的程序

  kdeveloper: 类似VC一样,功能强大

  source navigator: redhat公司出的代码阅读器,supper cool.

  microwindows: win32接口GUI,又小又快,用于PDA

  nano-X: 多任务的microwindows

  miniGUI: 类似上面两种图形,国产的,虽然我没用过,但基于支持国产软件的原则,我想绝对比nano-X及microwindows好。

  知道了如上的一些东西,我们就可以决定开发的方向了:

  1. 对于C程序员 C + gtk/gdk + glade +anjuta+ 中文turbolinux

  2. 对于C++程序员 C++ + qt/x11 + designer + kdeveloper + anjuta+中文turbolinux

  3. embedded程序员 c/c++ + qt/embedded + gtk+ HHL

  4. embedded爱好者 c/c++ + microwindows + HHL

  我们Step by Step,只要肯下苦功钻研Linux,按照这条路走一定可以成为优秀的Linux开发人员。这个开发途径不一定是最好的,但肯定是一条正道,也是目前 Linux的潮流所在,是我多年开发Linux及做Linux项目的经验总结,出于对中国Linux事业的极大热情,愿意奉献出来与大家共享。

  Step 1: 掌握Linux的安装运行方法,包括:

  a. 从CDROM直接安装Linux

  b. 用fdisk或pqmagic的协助手工分区安装Linux

  c. 硬盘上本身有Linux,但不能启动,要懂得使用软盘或CDROM恢复Linux系统

  d. 使用vpc或vmware等工具安装启动Linux

  e. 在dos/windows下安装Linux,使用loadlin来启动系统

  f. 通过网络无盘来启动Linux,其实这个原理很简单,只要懂上面所说的loadlin使用,无盘启动Linux系统和无盘启动dos做法一模一样。

  Step 2: 掌握Linux的运行原理,Linux系统启动的标准流程:

  Bios ->Lilo/Grub->Kernel->/sbin/init(init等于是一个批处理,它将从/etc/inittab读取将要运行的指令,因此我们可以自己写这个批处理,往后要运行什么都可以自己控制)->login-> /usr/X11R6/bin/startx

  Step 3: 掌握Linux的常用命令,命令列表请查阅Tomlinux文档"Linux开发常用命令"

  Step 4: 了解Linux专业名词及开发资源,请查阅Tomlinux文档"嵌入式Linux名词及资源"

  Step 5: 如果从step1到step4你都掌握或比较熟悉,那么进行嵌入式Linux开发的基础就算扎实了,接下来考虑的是开发的方向,一般是从X86的开发开始,进行X86开发的最佳组合为:

  a . Kernel 使用最终稳定版而非最新版进行裁减,如果功能可达到,甚至可以退回到更旧的稳定版,旧版kernel可以做得更小更快。

  b. bash和常用命令集要使用busybox而不是使用标准的

  c. 如果存储空间足够,lib可使用标准libc,对于存储空间紧张的使用uClibc

  d. 图形系统使用Tinyx

  e. 窗口系统使用icewm

  f. 开发选用语言,个人认为使用C/C++是主力,其它只能作为辅助

  g .图形应用选用免费而又非常优秀的GTK工具集,可以在其图形开发环境galde和anjuta、SNavigator的配合下进行,这个组合简直是黄金搭档,我自己觉得这加起来比vb/vc还好用。当然另一个不错的选择是使用QT工具集,可配置Designer、Kdeveloper来使用。

  h. 开发字符应用可使用ncurses辅助,开发无图形服务器的系统可使用直接写屏framebuffer方式或SDL、QT/E方式

  i. 发行时选用的存储器一般是DOC或者DOM而不使用HD

  根据上面的组合开发出来的系统,装到8M的DOC/DOM上完全没有问题,如果是以没有图形服务器方式h.进行的,最小1M的DOC就够了。

  Step 6: 掌握X86的开发方法后,在其它平台上进行开发也是大同小异,所需更换的主要是引导方式,kernel、基本库及编译器等。这些东西在安装相应的开发包后即可解决,不要自己耗大量时间去进行,开发精力应放到产品级的开发上去,必竟中国目前的水平还没有到编译器这一类的级别。不同的平台及相关的Linux支援主查阅 Tomlinux文档"嵌入式CPU" 。

  对于非X86平台的开发,经常会需对硬件进行分析,还需要使用硬件辅助除错,比如在ARM的开发中,ARM Debugger支持连接ICE(In-Circuit Emulator)到Remote进行调试,还可通过JTAG接个ICD调试,在PPC开发中则使用BDM去调。 这些设备都比较贵,如果公司里面有现成的,那么一定要积极去使用它,即使有时有其它的代替方法,因为这样才可以表现出你是一个高手高手高高手。如果没有就要看情况是否购买它了,不是必要的就尽量为公司节省费用才是好员工。

  当你成为一个优秀的嵌入式Linux开发人员时,不要因此而满足,那怕你是技术最最强的一个,但在一个公司里不表示你是值钱的。只有那些有长远目光,有想法有创意的,能为公司赚到钱的才是最棒的,所以要多了解市场信息,多了解Linux的发展动向,争取写出killer application 为公司赚钱。这也是我一向在努力的,只是至今还没能力实现,希望大家一起努力,一个是为了赚到银子,更重要的为中国的Linux发展及至软件事业作出贡献。

赞(25)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程