Linux development environment
Linux Development Environment
Agenda U GNU/Linux Introduction 口 Process CVS, bugzilla 口 Workbench IDE, command line, gvim/emacs a Programming Languages Different shell( Python, TCL/TK, perl)(lab) 口Too|s Compiler: gcc, icc Gdb (Lab Binutils Idd, objdump, strace, ptrace Share object(ELF)( lab) M4, libtools, Automake, autoconfig (lab) Thread (lab Rpm vs debian vs pkadd
2 Agenda ❑ GNU/Linux Introduction ❑ Process ▪ CVS, bugzilla ❑ Workbench ▪ IDE, command line, gvim/emacs ❑ Programming Languages ▪ Different shell ( Python, TCL/TK, perl) (lab) ❑ Tools ▪ Compiler: gcc, icc ▪ Gdb (Lab) ▪ Binutils ldd, objdump, strace, ptrace ▪ Share object (ELF) ( lab) ▪ M4, libtools,Automake, autoconfig (lab) ▪ Thread (lab) ▪ Rpm vs debian vs pkadd
Agenda( Cont) 口 APls enviroment (X lib: gnome(gtk), kde( at vs motif (LAB) Newt. -Devel- APplications enviroment a System programming 口 Specia|Area (18n )& Localization (10n) Portability Lsb, partibility between unix(unix 98, posix, and etc) u Document( lab)
3 Agenda ( Cont ) ❑APIs enviroment ▪ ( X lib: gnome(gtk), kde(qt) vs motif ) (LAB) ▪ Newt. -Devel- ❑Applications enviroment ❑System programming ❑Special Area ▪ (i18n) & Localization(l10n) ▪ Portability Lsb, portibility between unix(unix 98, posix, and etc) ❑Document ( lab )
GNU/Linux Introduction UFSF - Free Software Foundation FSF是GNU工程的主要赞助组织 运作资金超过百分之六十七来自於个人的捐赠 口GNU-“GNU' s Not unix 旨在发展一个类Unⅸx且为自由软件的完整操作系统 2, 663 packages indexed 口 Linux UNIX-like operating system Named after linus torvalds. its creator But should be named for gnu linux Linus unix linux Kernel Linux Kernel gnu Software others linux GPL LGPL CPL PL Apache/ BSD
4 GNU/Linux Introduction ❑FSF -- Free Software Foundation • FSF 是 GNU 工程的主要赞助组织 • 运作资金超过百分之六十七来自於个人的捐赠 ❑GNU -- “GNU's Not Unix • 旨在发展一个 类Unix 且为自由软件 的完整操作系统 • 2,663 packages indexed ❑Linux ▪ UNIX-like operating system ▪ Named after Linus Torvalds, its creator ▪ But Should be named for GNU linux Linus + Unix = Linux Kernel Linux Kernel + Gnu Software + others = Linux GPL LGPL CPL IPL Apache/BSD
Process--General Standards of Software Engineering SO9001 是指包含有设计,研制,生产,安装和服务的质量保证模式。 口cMM CMM是 Capability maturity Model for Software的简称,中文叫“软件能 力成熟度模型”,是对组织软件过程能力的描述。 CMM1一初始级。 CMM2—受管理级,有7个关键过程域。 CMM3—已定义级,有11个关键过程域。 CMM4—定量管理级,有2个关键过程域。 CMM5—持续优化级,有2个关键过程域 口 Rationa|etoo|s
5 Process -- General Standards of Software Engineering ❑ISO9001 是指包含有设计, 研制, 生产, 安装和服务的质量保证模式。 ❑CMM CMM是Capability Maturity Model for Software的简称,中文叫“软件能 力成熟度模型”,是对组织软件过程能力的描述。 ▪ CMM 1—初始级。 ▪ CMM 2—受管理级,有7个关键过程域。 ▪ CMM 3—已定义级,有11个关键过程域。 ▪ CMM 4—定量管理级,有2个关键过程域。 ▪ CMM 5—持续优化级,有2个关键过程域。 ❑Rationale tools
Process --General Framework of Software Engineering 口源代码/文档管理工具(Lab) CVs, patch, diff Clearcase Others tinderbox. bonsai. LXR 口Bug/事务管理跟踪工具 bugzilla ClearDDTS( Distributed Defect Track System) 口 Review& Inspect oOthers gprof/quantify, purify
6 Process -- General Framework of Software Engineering ❑源代码/文档管理工具(Lab) ▪ CVS, patch, diff ▪ Clearcase ▪ Others: tinderbox, bonsai, LXR ❑Bug/事务管理跟踪工具 ▪ Bugzilla ▪ ClearDDTS ( Distributed Defect Track System ) ❑Review & Inspect ❑Others ▪ gprof/quantify, purify
Workbench 口集成环境 Kylix Kdevelop Eclipse 口命令行 Editor vi/vim/gvim, emacs/xemacs pico Source reader source navigator; vi/emacs+ ctags/etags (LAB) Configure Tools automake, autoconf. m4
7 Workbench ❑集成环境 ▪ Kylix ▪ Kdevelop ▪ Eclipse ❑命令行 ▪ Editor vi/vim/gvim, emacs/xemacs, pico ▪ Source Reader source navigator; vi/emacs+ ctags/etags (LAB) ▪ Configure Tools automake, autoconf, m4
Programming Language 口编译性的高级语言 C/C++ LAB: make a shared object and adjust running lib path Java a Fortran sCripts(Lab: implement one target in different language) Shell Python TcllTk( Lab for TK) Perl Awk/Gawk Sed 口汇编语言
8 Programming Language ❑编译性的高级语言 ▪ C/C++ (LAB: make a shared object and adjust running lib path) ▪ Java ▪ Fortran ❑Scripts (Lab: implement one target in different language) ▪ Shell ▪ Python ▪ Tcl/Tk ( Lab for TK ) ▪ Perl ▪ Awk / Gawk ▪ Sed ❑汇编语言
Development Tools 口 Tools Compiler: gcC, Icc Gdb, gdb, ddd LAB: simple debug) Binary format and tools (LAB: explore Idd, objdump, strace, ptrace M4, libtools, Automake, autoconfig(lab) rpm( debian vs pkadd)(Lab)
9 Development Tools ❑Tools ▪ Compiler: gcc, icc ▪ Gdb, xgdb, ddd ( LAB: simple debug) ▪ Binary format and tools (LAB: explore ) ldd, objdump, strace, ptrace ▪ M4, libtools, Automake, autoconfig (lab) ▪ rpm ( debian vs pkadd ) (Lab)
APIs enviroment 口应用的类型 字符界面 curse newt 口GU桌面 GNOME(Orbit) KDE( Kpart 口GU界面 Gtk--1x&2x gladelgalde2 s Qt Qt designer
10 APIs enviroment ❑应用的类型 ▪ 字符界面 ncurse newt ❑GUI桌面 ▪ GNOME (Orbit) ▪ KDE (Kpart) ❑GUI界面 ▪ Gtk -- 1.x & 2.x glade/galde2 ▪ Qt Qt designer