如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”
1、gcc
要进行C语言编程,首先得有个C语言的编译器,Linux下常用的是GNU C Compiler gcc。软件包的信息如下: 4 m! e; g3 e7 C) w1 r# _3 [" x
引用:
" d! g* W1 |2 ?
Package: gcc
Priority: optional # B9 W; C1 ]5 j. Y. S
Section: devel * T4 @# z2 C7 A+ m6 N
Installed-Size: 64 & x% }, C4 i) Q& A" z9 V: u
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 - [/ p" {% q5 V: ~
Source: gcc-defaults (1.41ubuntu3)
Version: 4:4.1.1-6ubuntu3
Provides: c-compiler , ?+ T m$ U z; d4 }- c6 Z' n! c5 K
Depends: cpp (>= 4:4.1.1-6ubuntu3), gcc-4.1 (>= 4.1.1-2) 2 ~5 |" z; q2 l) W
Recommends: libc6-dev | libc-dev
Suggests: make, manpages-dev, autoconf, automake1.9, libtool, flex, bison, gdb, gcc-doc
Conflicts: gcc-doc (<< 1:2.95.3) 3 e( ?# i& H" [2 q* W$ Z1 z9 F
Filename: pool/main/g/gcc-defaults/gcc_4.1.1-6ubuntu3_i386.deb 7 j4 C6 Q6 o5 l- d4 I
Size: 5148
MD5sum: 50de0a13f56c9ac41f85ea7fcabde0b2 6 ]/ |; C; ?/ v# G: /
SHA1: c29cc1ea61d536d8ecb024fac83222c935a2703e
SHA256: 65103d0dbc2c7508184ac177a8ea5eb90a82d873b0fb7fd65b9764b691673708 ' Q3 T! W! }, u& N% |
Description: The GNU C compiler ! o4 S3 B) j2 }/ o& X3 H
This is the GNU C compiler, a fairly portable optimizing compiler for C. + p: f" F( J( w+ a" r0 g
. & Z! A* e5 H# T0 Y8 a
This is a dependency package providing the default GNU C compiler. ! S: Z0 R. b* k) ?) v
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ; H h- u; u7 P9 F! t6 t# _
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-desktop
我们从上面可以看出这个gcc软件是用来提供默认值的。从Depends可以看出要gcc真正工作必须有对应的cpp和gcc版本。 7 v) y2 u( g& k: z- {* T* l0 i
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
) L! U2 Z8 ]. o( F0 `
2、gcc-*
这里以gcc-4.1版本为例,该软件包信息如下:
引用:
Package: gcc-4.1
Priority: optional 9 h! n3 M( b6 G. c+ {9 j$ O
Section: devel 0 C9 e! o9 @- ~- P9 e1 V& V; q$ t( D" g
Installed-Size: 1456 : d, C: q& a4 f" T2 a
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> & O1 l/ G- K! E* ^. l4 }/ Q- Z
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> . t. k P4 g# x. M$ b
Architecture: i386
Version: 4.1.1-13ubuntu5
Replaces: gcj-4.1 (<< 4.1.1), libssp0-dev (<< 4.1.1-6)
Provides: c-compiler, libssp0-dev
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), cpp-4.1 (= 4.1.1-13ubuntu5), binutils (>= 2.16.1cvs20051214), libgcc1 (>= 1:4.1.1-13ubuntu5), libc6 (>= 2.4-1)
Recommends: libc6-dev (>= 2.3.6-7), libmudflap0-dev (>= 4.1.1-13ubuntu5)
Suggests: gcc-4.1-doc (>= 4.1.1), gcc-4.1-locales (>= 4.1.1), libc6-dev-amd64, lib64gcc1 (>= 1:4.1.1-13ubuntu5)
Conflicts: gcj-4.1 (<< 4.1.1), libssp0-dev (<< 4.1.1-6)
Filename: pool/main/g/gcc-4.1/gcc-4.1_4.1.1-13ubuntu5_i386.deb . M" R. k9 ~: B8 /% @* V
Size: 609694 ) j0 t' Y) A2 @, D' m
MD5sum: 522696065e5152e9b8f2fe0c637340eb
SHA1: 3d7fedaccdd6180684849571f15bf75cc8cf0a56 0 G0 x! s: /3 C1 m, t
SHA256: e77e3ed94f79d2bd6145fed9446c6216eb7c35a7a0e94148ae9f6d2f7c18d52e
Description: The GNU C compiler
This is the GNU C compiler, a fairly portable optimizing compiler for C.
Bugs: mailto:ubuntu-users@lists.ubuntu.com % // m' i8 a, r" s# x$ Z
Origin: Ubuntu & {. P; Q# e1 {! /4 H" c
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-desktop
gcc要进行程序编译,首先需要进行一个预编译过程。该过程对程序源代码进行预处理。 8 n5 M8 `/ b3 p/ V0 J6 P& m3 g
cpp软件包的信息如下: # i6 p! @" d, `8 ?, ?* L
引用:
; j+ z9 t9 J! c- G/ @5 q
Package: cpp
Priority: optional ' h3 X2 N8 P M9 Y/ ]
Section: interpreters
Installed-Size: 96
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 & B9 d) ^! H2 {+ G4 Q, j: F' F
Source: gcc-defaults (1.41ubuntu3)
Version: 4:4.1.1-6ubuntu3 % M: I7 T+ k# o6 k' ]( o. ]
Depends: cpp-4.1 (>= 4.1.1-2) 3 ?9 U: W, X9 L+ O p7 s7 t3 @' U; Y
Suggests: cpp-doc
Conflicts: cpp-doc (<< 1:2.95.3) 9 s* G1 }& g% S7 Z
Filename: pool/main/g/gcc-defaults/cpp_4.1.1-6ubuntu3_i386.deb ; ~+ {6 @! p! O; k7 R2 K
Size: 31172 , q% T& p# X0 A
MD5sum: 1d16eb3da2478b7ded37d185968237b0
SHA1: 688cc7572783577825c5430252b04da31977c129
SHA256: a75d7c4446f45e94ec947307d90cf2776441baa78cd511192128e6cb1108f6a2
Description: The GNU C preprocessor (cpp) # u3 f7 c2 o+ |% g+ X
The GNU C preprocessor is a macro processor that is used automatically ' J6 m% S1 A4 ^" G/ O
by the GNU C compiler to transform programs before actual compilation.
.
This package has been separated from gcc for the benefit of those who * w1 M/ ]9 _! h, _+ J8 u! T) P
require the preprocessor but not the compiler. . {9 B* U# W: B. h4 F5 t5 i
. , T4 P7 _' x" s# q
This is a dependency package providing the default GNU C preprocessor. 2 A2 V9 M: T3 n, v: a$ u3 B3 b: h
Bugs: mailto:ubuntu-users@lists.ubuntu.com 4 {0 Z2 L+ r3 k& r2 I
Origin: Ubuntu 4 Z& e& h: I* G* R, i1 e% h
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop ) r1 ?' }" S. j1 H9 G, J; ]
这里以cpp-4.1为例,软件包信息如下: ' a. T. ~- K1 x) h
引用:
) b B* G, y1 e0 R# @' @5 |
Package: cpp-4.1 7 j' V! B/ D- X |' U# W" Z( `
Priority: optional ! E P) a# w8 v. V
Section: interpreters 3 G b* s6 L& h+ Q
Installed-Size: 5196 . x( r* j# }1 a7 k. |0 f& H
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> & O& y; B8 I8 Y
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386
Source: gcc-4.1 7 R1 L: B0 a+ w2 ~
Version: 4.1.1-13ubuntu5
Replaces: gcj-4.1 (<< 4.1.1) / ]1 @. S0 o0 u5 S8 q
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1) 3 ~& a3 B; B# A7 [* R
Suggests: gcc-4.1-locales (>= 4.1.1)
Conflicts: gcj-4.1 (<< 4.1.1) / R0 R8 j0 B* h6 l! L9 B
Filename: pool/main/g/gcc-4.1/cpp-4.1_4.1.1-13ubuntu5_i386.deb
Size: 2309026
MD5sum: abfee8be3d7aeb0ad3eb4e7738838dca
SHA1: 8a51c79c2b961686b98617772b9da4800f173dbe
SHA256: 115aad59c02eee574066e21e6ed7a32bee1ed86e3abb73189645928832258ea0
Description: The GNU C preprocessor 4 ]$ c: C1 @6 g: [4 E: /5 X* f
A macro processor that is used automatically by the GNU C compiler ; n; N& C0 q+ z* K
to transform programs before actual compilation.
. M: _% k8 U' H1 i @
This package has been separated from gcc for the benefit of those who
require the preprocessor but not the compiler. / B* q# /0 v) R5 v* {
Bugs: mailto:ubuntu-users@lists.ubuntu.com 9 |* _6 g0 E: k2 p/ {
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop
5、libgcc1 1 d- V) V; j2 `6 e/ U `
gcc还依赖于libgcc1这个软件包。libgcc1是用于gcc软件自身的必须组件。软件包信息如下: , I) o% s* k, i/ v! C4 G
引用:
Package: libgcc1
Priority: required
Section: libs 1 y; w" S& Y7 o( t2 B- e2 ?* l
Installed-Size: 68 $ F, D' a0 [$ F5 o* e& l v# C
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> : Q0 D. p" `2 y$ g0 @
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 / Q7 u, T) ]3 ?5 Q
Source: gcc-4.1 (4.1.1-13ubuntu5) ' s" b, q9 @3 m; O
Version: 1:4.1.1-13ubuntu5
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1)
Filename: pool/main/g/gcc-4.1/libgcc1_4.1.1-13ubuntu5_i386.deb
Size: 21404 ' o! e/ b7 F; Z) Y3 r1 {
MD5sum: 879959bc964403be55aa096a8bb269f9
SHA1: 3a3cfd824e25a2ce9008d98da1269f5ffdb7507f
SHA256: 62f3f64daaa1dd19fc76d966718184d1e0e0ee9f733f7f955b8b09e27b69a7d1
Description: GCC support library ; Z& x2 z3 /" g' n
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages. # K( Z4 `4 X; u5 Q) B
Bugs: mailto:ubuntu-users@lists.ubuntu.com $ B% ?3 Y6 J; X# F; A8 i$ z" `
Origin: Ubuntu % ?: }; y, l, B) u* G6 m
Task: minimal
6、libc6 ! x$ F, C7 l1 S
C语言程序要能够运行,需要一些运行时库文件和一些库文件操作命令。libc6这个软件包就是用来提供这些的。这个软件包几乎是Linux系统自带的,因为所有C程序的运行都离不开此软件包。软件包信息如下: 2 i+ /: Z- D" t6 B1 Q, i3 _7 x: Z
引用:
9 n4 K4 a" `/ r$ o5 ^: h6 p4 |8 w3 NPackage: libc6
Priority: required 4 Q& B' d! n+ x( j2 k& t% i& u* ~
Section: base
Installed-Size: 9992 / a; [' O" q# o' S" A
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> 8 M8 w: A' y p' ?
Architecture: i386
Source: glibc 8 w& }- {, x2 T- {' z# }9 ^- u
Version: 2.4-1ubuntu12.3 4 A4 w3 [* p4 N) /1 R- X8 z
Replaces: ldso (<= 1.9.11-9), timezone, timezones, gconv-modules, libtricks, libc6-bin, netkit-rpc, netbase (<< 4.0)
Provides: glibc-2.3.6-2, glibc-2.3.5-3
Depends: locales (>= 2.3.11) 4 h# W7 U4 z' o* F
Suggests: locales, glibc-doc - J3 I- f+ Q9 j2 X8 P
Conflicts: strace (<< 4.0-0), libnss-db (<= 2.2-6.1.1), timezone, timezones, gconv-modules, libtricks, libc6-doc, libc5 (<< 5.4.33-7), libpthread0 (<< 0.7-10), libc6-bin, libwcsmbs, apt (<< 0.3.0), libglib1.2 (<< 1.2.1-2), netkit-rpc, wine (<< 0.0.20031118-1), cyrus-imapd (<< 1.5.19-15), e2fsprogs (<< 1.35-7), initrd-tools (<< 0.1.84.1), libterm-readline-gnu-perl (<< 1.15-2)
Filename: pool/main/g/glibc/libc6_2.4-1ubuntu12.3_i386.deb
Size: 4129182 ; g, N+ Y- O; z% I( q8 T2 ]! v
MD5sum: 012994de4fa9093d6fdba6c2304ddb9a
SHA1: 187b850b1ac6153838ae2c1f8518342325ffe2ca . v% ]% B" Q# Q$ J" ?! P: z
SHA256: 6ad0ee8cccb09117df4f6c02a275940b8bb27883219b205cad1840ccf870a790 ) X4 v1 ~/ E% S! n9 r( T4 _8 F3 B
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on U* M# I% X, d$ K8 Y5 j6 M0 r
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.
Bugs: mailto:ubuntu-users@lists.ubuntu.com 0 U. h1 F/ E8 x( I4 K' S) f
Origin: Ubuntu
Task: minimal , f9 Q8 d$ Z9 X8 u0 Y1 R4 ]4 g
7、binutils ' h, P- a( Q9 M7 V7 b* Q3 i
程序从源代码到可执行程序的过程中,必然需要一些工具来辅助完成。binutils软件包就是提供一些工具的,软件包信息如下:
引用:
Package: binutils
Priority: optional * p* I( M- L- l' c6 d
Section: devel . y /* d$ t) @
Installed-Size: 7076 ) q. w7 R H H i/ K* K/ P
Maintainer: James Troup <james@nocrew.org> ' I3 j7 P1 y/ U+ @
Architecture: i386
Version: 2.17-1ubuntu1 ; O& o$ _$ V* {* [
Provides: elf-binutils 1 g, e6 R) T, l
Depends: libc6 (>= 2.4-1) + /1 G d8 h3 |. Z% X7 p# x, A+ {
Suggests: binutils-doc (= 2.17-1ubuntu1)
Conflicts: gas, elf-binutils, modutils (<< 2.4.19-1)
Filename: pool/main/b/binutils/binutils_2.17-1ubuntu1_i386.deb . n; R& {+ J/ b. G0 g! z
Size: 1440506
MD5sum: e9ae8f7ad19ce94dbfb2d96c3023941b . F: L' A4 y6 ]) i
SHA1: 58bb97665e26785b1667f9d988443b9719c57bea 2 u* z" h/ i) W, /! R2 o3 {+ o% C
SHA256: 43c9ee10660b853deea247c21c5ad61d5d184e6b13484eb6c6cd696d17eae31e ( x2 ]" Z' g; l# G$ ]
Description: The GNU assembler, linker and binary utilities
The programs in this package are used to assemble, link and manipulate
binary and object files. They may be used in conjunction with a compiler
and various libraries to build programs. 2 I7 z% _, l. r; b+ g2 K
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 0 d( /$ b& p: i+ f
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-server, xubuntu-desktop
引用:
1 y) /8 ?1 f/ Y3 A9 E/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objdump # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引 " @, v6 J$ ?8 q
/usr/bin/objcopy # 复制或转换目标文件 * b) ~# K/ F, k+ {9 i7 z
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号 % N9 V d. N& _/ G! U% b2 ^
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式 0 F( D: P+ F+ A; K b) l
/usr/bin/nm # 显示目标文件里的符号 `2 B: K9 g0 J* [' Y( P
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号 ; ?) h C" w0 E
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
8、locales
这个软件包提供本地语言环境支持,软件包信息如下: + H! K K5 {- s9 O+ j' ^- i
引用:
/ n% U; {# O, u0 H0 L$ G
Package: locales " O- `( R% ~# i- K2 ]; z" S; ~
Priority: required
Section: base
Installed-Size: 7284
Maintainer: Martin Pitt <martin.pitt@ubuntu.com>
Architecture: all
Source: langpack-locales - T( `7 n5 h: c" s2 i
Version: 2.3.22 . z ~, O0 e, d c
Replaces: belocs-locale-data, base-config, libc6 (<< 2.3.6-0ubuntu6), libc6.1 (<< 2.3.6-0ubuntu6)
Depends: belocs-locales-bin (>= 2.4), tzdata
Conflicts: belocs-locale-data, base-config 5 T+ @# q0 `/ S! N# c8 ^' _
Filename: pool/main/l/langpack-locales/locales_2.3.22_all.deb
Size: 3023314 ! I# T3 W% r2 {) B
MD5sum: bfc03e46a01addb754b9ea03979c3458
SHA1: 219943450cf30851870b89cabe766da04b4cdff3 0 _$ o: ^+ @5 U4 B
SHA256: fe9345e58e70db1c8c6e798f40a07d988f2d4c5de4408e9c8ac3db87d99fbe24 $ r; N3 B/ M& c( N
Description: common files for locale support 6 x: Z! ?1 W. |1 J
This package provides support for localized environments (locales).
It installs character and transliteration maps, provides the POSIX
locale definition and provides common scripts for language pack
handling. : O1 i" R) c* X
. |2 l q$ p9 p, |
The actual locale definitions are not part of this package, these are . ^& I; g2 U% {4 g- Q3 t& L9 ?0 g
shipped in the language packs and are installed and removed ' o: m2 ?: A' U9 G
automatically.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ' o* Z5 o1 Y6 `7 K" Z4 y
Task: minimal
虽然上面列了这么多必需的软件包,但实际上因为他们之间有依赖关系,所以在安装完系统后我们只需要输入下面一个命令:
代码:
apt-get install gcc
/************关于本文档******************************************** / K5 c; H7 d: G" I; L, c
*filename: 我是这样学习Linux下C语言编程的-Linux下C语言编程环境的搭建 $ X6 d8 K q6 o* /) d
*purpose: 列出Linux下C语言编程者必备的几个软件包
*wrote by: zhoulifa(zhoulifa@163.com) 周立发()
Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言 . I4 g8 r# i" T
*date time:2007-02-09 18:20
*Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途
* 但请遵循GPL # q4 D" K) D% H0 F! Z
*Thanks to:Ubuntu
*Hope:希望越来越多的人贡献自己的力量,为科学技术发展出力 ; A9 n6 S3 `- {0 }2 L4 @# ~
* 科技站在巨人的肩膀上进步更快!感谢有开源前辈的贡献! & D8 D* y2 |( N# p% j; E! U( J
*********************************************************************/ 3 @- @1 n4 m- M Z
9、libc6-dev ! P8 t. ]$ L) ~; n( X# T
我们要进行软件开发,必然需要一些库文件和头文件,在Linux常用的就是GNU的C语言库libc,要安装开发工具必须安装这个libc6-dev软件包,信息如下:
引用:
; L( F* h( Z+ f" j+ v2 q8 E
Package: libc6-dev " p/ /9 F5 w; o6 i7 F, j
Priority: optional 0 Y7 z! n$ s' P, v
Section: libdevel ' `6 P- r6 }+ {. t C
Installed-Size: 7872
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> 8 K0 ] d, r0 n5 B$ [
Architecture: i386 " K6 ]6 {! T# a: F4 L
Source: glibc $ G# j7 t. b8 m1 t' v
Version: 2.4-1ubuntu12.3
Replaces: man-db (<= 2.3.10-41), gettext (<= 0.10.26-1), ppp (<= 2.2.0f-24), libgdbmg1-dev (<= 1.7.3-24), ldso (<= 1.9.11-9), netkit-rpc, netbase (<< 4.0), kerberos4kth-dev (<< 1.2.2-10), libc6-prof (<< 2.3.5-2) / X. Q% l) |9 c+ I- Y
Provides: libc-dev
Depends: libc6 (= 2.4-1ubuntu12.3), linux-libc-dev
Recommends: gcc | c-compiler 1 W6 ~- /1 Q7 T3 f7 L2 J
Suggests: glibc-doc, manpages-dev * o3 q% N3 n! J! /1 z4 w6 m5 s
Conflicts: libstdc++2.10-dev (<< 1:2.95.2-15), gcc-2.95 (<< 1:2.95.3-9), libpthread0-dev, libdl1-dev, libdb1-dev, libgdbm1-dev, libc6-dev (<< 2.0.110-1), locales (<< 2.1.3-5), libstdc++2.9-dev, netkit-rpc, libc-dev
Filename: pool/main/g/glibc/libc6-dev_2.4-1ubuntu12.3_i386.deb 5 g/ B% p1 }. {9 D- v
Size: 1851740 ' ~) U8 I! B; ^" i; B. {
MD5sum: 3d251ab59720128c3d95e427649e1528
SHA1: a80d219c65eb3f9f78be17dd3cd0f0017fbb0f78 + L9 k2 z2 l$ {# ]+ b/ b
SHA256: a2b0869b9b732aa56f9108849960e9f72b13bbe76bf58d8af7965c937bdaea0a
Description: GNU C Library: Development Libraries and Header Files
Contains the symlinks, headers, and object files needed to compile . ^) J& P, f9 f; I$ q1 Q' u
and link programs which use the standard C library. + D$ k- h& x/ d# k! r8 _+ R: |6 E
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu
Task: kubuntu-desktop
进行C语言开发过程中必须遇到一些问题需要参考一下GNU的文档,一种方法当然是去gnu.org,但如果上不了网呢?就最好把这个软件包glibc-doc安装上,此软件包信息如下: % H# r+ y* ]) I3 T5 f& ^* ]- r
引用:
Package: glibc-doc
......
Description: GNU C Library: Documentation
Contains man pages for libpthread functions and the complete GNU C Library & }( ^: t$ e% ?- d. y
ChangeLog. The GNU C Library Reference manual has been moved into
glibc-doc-reference for licensing reasons.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu
11、glibc-doc-reference
理由同上,编程人员最喜欢的参考手册就是这个软件包了,可以称为Linux下C语言编程参考。此软件包信息如下: & C5 ]# v& j, S5 V
引用:
Package: glibc-doc-reference
......
Description: GNU C Library: Documentation
Contains The GNU C Library Reference manual in info and html format. 3 R+ P5 S+ b! b" ~, ^* K
Bugs: mailto:ubuntu-users@lists.ubuntu.com 0 A6 `- ~; S* `" g) N8 U) O
Origin: Ubuntu 0 e0 | r, }1 l: ~
% U: g( m+ o: L+ U& f
12、manpages-dev
在编程的过程中有时会记不得某个函数的用法,通常这时查man手册是比较快的,所以把这个manpages-dev软件包安装上。想要看某个函数的用法就man它。软件包信息如下: " U& t. v7 d3 l: G4 e
引用:
/ /# C+ e+ C+ b/ w& p
Package: manpages-dev : ]% S( v2 Y6 U- ?& ?
Priority: optional % J* `; j6 {; T9 |' b, W3 D
Section: doc
Installed-Size: 2908
Maintainer: Martin Schulze <joey@debian.org>
Architecture: all / E q" A# W+ ]" D$ t7 [3 J
Source: manpages 7 ^, `; A, U% I! w0 o2 {# e% ~
Version: 2.34-1 2 P7 /5 T/ b: T/ E9 ^5 s+ o& H$ L
Replaces: glibc-doc (<< 2.3.6-8)
Depends: manpages / w- u8 T7 K% p8 w0 ]" l) C: X
Suggests: man-browser
Filename: pool/main/m/manpages/manpages-dev_2.34-1_all.deb
Size: 1212216
MD5sum: 0edb841a2ab4f5a821e5e9c64d32f6f2
SHA1: 6b5939fa8ce076b90b7284323dabd78b9dec3c37 1 M; /* N: c% v2 C) C% F9 X$ G5 O& ^
SHA256: 42757735e4e8257e4569ea83cebbb05d7eda094bd9fb67c227f26179365ce610
Description: Manual pages about using GNU/Linux for development
These man pages describe the Linux programming interface, including 5 |7 Y8 n" U5 V: W% a
these two sections:
2 = Linux system calls.
3 = Library calls (note that a more comprehensive source of information
may be found in the glibc-doc package).
Bugs: mailto:ubuntu-users@lists.ubuntu.com - ]% z% E- b S. p; `
Origin: Ubuntu ! @- ?4 j: V! q" w" C3 R/ k
7 E" N: g3 J/ |! s; e' [
13、make 8 Y' a' b5 e% l$ Q- I1 h
在进行大项目时,通常我们的程序可能是由很多源文件组成的,各个源文件生成自己的目标文件,多个目标文件才链接形成一个新的目标文件或可执行程序。 ! u" @) E+ n, i6 w0 z. u0 P
在某个源文件发生变化时,我们只需要按照这种依赖关系运行各命令重新生成程序即可,而不需要对所有源文件重新编译。哪个该重新编译呢?可以让make程序帮忙 维护,该软件包信息如下: 2 S7 {" a" V* U6 d
引用:
' O1 v# c7 a% N
Package: make - K# [8 ] @. k3 P/ h i
Priority: optional
Section: devel . Y" f1 S! @3 a+ b) a$ t1 r9 {
Installed-Size: 1200
Maintainer: Manoj Srivastava <srivasta@debian.org>
Architecture: i386
Source: make-dfsg
Version: 3.81-2
Depends: libc6 (>= 2.4-1)
Suggests: make-doc-non-dfsg 1 q, `! {+ a" R2 a
Filename: pool/main/m/make-dfsg/make_3.81-2_i386.deb 9 |, t: s) l! h/ Q5 x0 ^
Size: 148054 ; v) r% a- l1 @0 E3 ]
MD5sum: 818d9b86d322629e5f218e8a101157c9 4 ~1 G% }7 T2 n7 j3 p! Z, M3 e; U; Y6 R$ A
SHA1: b5a04fd649b418b689c4918f17b5d94d01b11c5d $ J' q; m, v+ @* r; P4 f5 q
SHA256: 6dc9467599278802a34c2a7ee9125a7f4b42719fcc8fdab8124bde7db80c5328 - T- Y: n% /) e% B4 t5 D, G% T
Description: The GNU version of the "make" utility.
GNU Make is a program that determines which pieces of a large
program need to be recompiled and issues the commands to recompile : ]4 h% O# F9 F4 r' T" p) o8 }
them, when necessary. More information about GNU Make can be found in
the `make' Info page. The upstream sources for this package are
available at the location . The ) P: c+ W/ l1 D8 E
documentation for this package does not meet the Debian Free Software & N8 /# l! g0 @4 T9 k- D6 Y' R
Guidelines, and has been removed from this package.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ! o, R3 C, e! v7 L" h0 C/ d! V
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-desktop
14、make-doc * Y$ n. o, O& e7 O+ t ^' ]2 `
要运行make工具,先得学会怎么用它吧?看这个软件包提供的文档就行了。此软件包信息如下:
引用:
! n ~+ l8 L7 D3 B* ^5 l2 q3 APackage: make-doc
...... " k4 N+ ] S- G/ M4 I
Description: Documentation for the GNU version of the "make" utility. . z0 H4 v' ?) `6 {# @- H6 z
This package contains the documentation for GNU Make. The upstream 6 j* h+ W, x* T1 H
sources for this package are available at the location * p4 W; D0 t) /6 p: K
. This package has been stripped down to 9 A. r* i5 @6 t. D G
only contain the documentation; since the documentation is covered
under a non-free license and thus has been moved to ) S. ?/ T5 R! }" W7 J3 S2 A
non-free/doc. Make itself remains in Debian.
Enhances: make
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ' u3 n L) P3 l# c
安装好这个软件包后,用浏览器打开/usr/share/doc/make-doc/make.html文档开始学习make的用法吧。
15、gdb
编写程序必然需要调试,在Linux常用的程序调试工具是gdb,此软件包信息如下: 4 /5 ^- Y3 o$ w/ I. ^
引用:
Package: gdb
Priority: optional
Section: devel % K W5 t, X0 i3 Z' r7 U
Installed-Size: 5108 3 i6 T) J1 R) L0 I! ^8 O
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Daniel Jacobowitz <dan@debian.org> + X5 I. P1 h# {: ]1 p
Architecture: i386 . u* z0 /- _0 P G7 D, H. d
Version: 6.4.90.dfsg-1ubuntu3 & R. d* A4 j& E+ x
Replaces: gdb-arm, insight (<< 6.1+cvs.2004.04.07-1)
Depends: libc6 (>= 2.4-1), libncurses5 (>= 5.4-5), libreadline5 (>= 5.1)
Suggests: gdb-doc
Conflicts: gdb-arm 5 d4 D; |/ o: Q) d8 r
Filename: pool/main/g/gdb/gdb_6.4.90.dfsg-1ubuntu3_i386.deb
Size: 2371532
MD5sum: c3483bd4246e5a15e1a940d4b907c45e
SHA1: 986b32bde241bef04e3e61a3fbe74e16f32b526a
SHA256: 69adcb23c8be1e0a50bb59f916a32a7da90836b02e08d2ca84e8ae63fad2fc01 6 f' k/ J# P* w/ H# P9 _# e
Description: The GNU Debugger
GDB is a source-level debugger, capable of breaking programs at
any specific line, displaying variable values, and determining
where errors occurred. Currently, it works for C, C++, Fortran, 0 }7 s0 [8 X2 h' D! u
Modula 2 and Java programs. A must-have for any serious 4 Y; /2 u' X b4 p" ` K$ f# q
programmer. ; }; |8 q2 W' /
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 1 l( {/ R- y' P9 ]- N, ~* G
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop
有了上面的gdb程序调试工具了,怎么学会使用它呢?安装这个软件包gdb-doc,即gdb的文档,此软件包信息如下:
引用:
& s: L: q7 q! t( v# f ~, tPackage: gdb-doc
......
Description: The GNU Debugger Documentation 2 F4 O$ V2 [; R% L. p/ M% I
GDB is a source-level debugger, capable of breaking programs at " T3 J) P; R' x' G$ q7 D% e
any specific line, displaying variable values, and determining
where errors occurred. Currently, it works for C, C++, Fortran, + D* k$ |8 e# K) l8 G4 w3 m6 n
Modula 2 and Java programs. A must-have for any serious
programmer.
. - }/ ]' x8 Q4 i. ^! N& Z* n
This package contains the GDB and GDB Internals manuals.
Bugs: mailto:ubuntu-users@lists.ubuntu.com % x* P* J# q3 A& L6 E) S
Origin: Ubuntu
安装好软件后就可以通过电脑上的文档自学gdb的使用了。
17、编辑器 9 D& F( v7 _# C% S5 P
要编写C程序,总得有个编辑工具吧?Linux下这类工具相当多,关键在于熟练掌握一种。 5 T7 Y; W: c0 Q6 B0 y* `
比如文本界面的编辑器vi, vim, emacs等
比如图形界面的编辑器gedit, kate, kwrite等 2 f! V; h& i. J3 A9 Z2 B
又比如IDE环境的:anjuta, eclipse, kdevelop等
选择一个自己习惯的熟练使用起来就行了。 . k3 _4 @% ^. T: d: g5 s% c* M
& T G2 y' T) z1 `% h
这些只是基本的Linux下C编程环境必须的软件包。如果这些熟练掌握了,可以试试下面这些软件包: T3 F# j' J1 f. O; ?/ |1 z
autoconf, automake1.9, libtool, flex, bison
当然还有对应的文档用于自学。 ) n/ ~1 A& D. s5 p$ r
甚至可以试试IDE环境下其它语言编程,比如gtk, qt等
--------------------next---------------------
引用:
Package: gcc-4.1
Priority: optional 9 h! n3 M( b6 G. c+ {9 j$ O
Section: devel 0 C9 e! o9 @- ~- P9 e1 V& V; q$ t( D" g
Installed-Size: 1456 : d, C: q& a4 f" T2 a
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> & O1 l/ G- K! E* ^. l4 }/ Q- Z
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> . t. k P4 g# x. M$ b
Architecture: i386
Version: 4.1.1-13ubuntu5
Replaces: gcj-4.1 (<< 4.1.1), libssp0-dev (<< 4.1.1-6)
Provides: c-compiler, libssp0-dev
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), cpp-4.1 (= 4.1.1-13ubuntu5), binutils (>= 2.16.1cvs20051214), libgcc1 (>= 1:4.1.1-13ubuntu5), libc6 (>= 2.4-1)
Recommends: libc6-dev (>= 2.3.6-7), libmudflap0-dev (>= 4.1.1-13ubuntu5)
Suggests: gcc-4.1-doc (>= 4.1.1), gcc-4.1-locales (>= 4.1.1), libc6-dev-amd64, lib64gcc1 (>= 1:4.1.1-13ubuntu5)
Conflicts: gcj-4.1 (<< 4.1.1), libssp0-dev (<< 4.1.1-6)
Filename: pool/main/g/gcc-4.1/gcc-4.1_4.1.1-13ubuntu5_i386.deb . M" R. k9 ~: B8 /% @* V
Size: 609694 ) j0 t' Y) A2 @, D' m
MD5sum: 522696065e5152e9b8f2fe0c637340eb
SHA1: 3d7fedaccdd6180684849571f15bf75cc8cf0a56 0 G0 x! s: /3 C1 m, t
SHA256: e77e3ed94f79d2bd6145fed9446c6216eb7c35a7a0e94148ae9f6d2f7c18d52e
Description: The GNU C compiler
This is the GNU C compiler, a fairly portable optimizing compiler for C.
Bugs: mailto:ubuntu-users@lists.ubuntu.com % // m' i8 a, r" s# x$ Z
Origin: Ubuntu & {. P; Q# e1 {! /4 H" c
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-desktop
gcc要进行程序编译,首先需要进行一个预编译过程。该过程对程序源代码进行预处理。8 n5 M8 `/ b3 p/ V0 J6 P& m3 g
cpp软件包的信息如下:# i6 p! @" d, `8 ?, ?* L
引用:
; j+ z9 t9 J! c- G/ @5 q
Package: cpp
Priority: optional ' h3 X2 N8 P M9 Y/ ]
Section: interpreters
Installed-Size: 96
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 & B9 d) ^! H2 {+ G4 Q, j: F' F
Source: gcc-defaults (1.41ubuntu3)
Version: 4:4.1.1-6ubuntu3 % M: I7 T+ k# o6 k' ]( o. ]
Depends: cpp-4.1 (>= 4.1.1-2) 3 ?9 U: W, X9 L+ O p7 s7 t3 @' U; Y
Suggests: cpp-doc
Conflicts: cpp-doc (<< 1:2.95.3) 9 s* G1 }& g% S7 Z
Filename: pool/main/g/gcc-defaults/cpp_4.1.1-6ubuntu3_i386.deb ; ~+ {6 @! p! O; k7 R2 K
Size: 31172 , q% T& p# X0 A
MD5sum: 1d16eb3da2478b7ded37d185968237b0
SHA1: 688cc7572783577825c5430252b04da31977c129
SHA256: a75d7c4446f45e94ec947307d90cf2776441baa78cd511192128e6cb1108f6a2
Description: The GNU C preprocessor (cpp) # u3 f7 c2 o+ |% g+ X
The GNU C preprocessor is a macro processor that is used automatically ' J6 m% S1 A4 ^" G/ O
by the GNU C compiler to transform programs before actual compilation.
.
This package has been separated from gcc for the benefit of those who * w1 M/ ]9 _! h, _+ J8 u! T) P
require the preprocessor but not the compiler. . {9 B* U# W: B. h4 F5 t5 i
. , T4 P7 _' x" s# q
This is a dependency package providing the default GNU C preprocessor. 2 A2 V9 M: T3 n, v: a$ u3 B3 b: h
Bugs: mailto:ubuntu-users@lists.ubuntu.com 4 {0 Z2 L+ r3 k& r2 I
Origin: Ubuntu 4 Z& e& h: I* G* R, i1 e% h
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop ) r1 ?' }" S. j1 H9 G, J; ]
: A1 K5 X& r# e6 `7 S0 w& S
这里以cpp-4.1为例,软件包信息如下:' a. T. ~- K1 x) h
引用:
) b B* G, y1 e0 R# @' @5 |
Package: cpp-4.1 7 j' V! B/ D- X |' U# W" Z( `
Priority: optional ! E P) a# w8 v. V
Section: interpreters 3 G b* s6 L& h+ Q
Installed-Size: 5196 . x( r* j# }1 a7 k. |0 f& H
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> & O& y; B8 I8 Y
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386
Source: gcc-4.1 7 R1 L: B0 a+ w2 ~
Version: 4.1.1-13ubuntu5
Replaces: gcj-4.1 (<< 4.1.1) / ]1 @. S0 o0 u5 S8 q
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1) 3 ~& a3 B; B# A7 [* R
Suggests: gcc-4.1-locales (>= 4.1.1)
Conflicts: gcj-4.1 (<< 4.1.1) / R0 R8 j0 B* h6 l! L9 B
Filename: pool/main/g/gcc-4.1/cpp-4.1_4.1.1-13ubuntu5_i386.deb
Size: 2309026
MD5sum: abfee8be3d7aeb0ad3eb4e7738838dca
SHA1: 8a51c79c2b961686b98617772b9da4800f173dbe
SHA256: 115aad59c02eee574066e21e6ed7a32bee1ed86e3abb73189645928832258ea0
Description: The GNU C preprocessor 4 ]$ c: C1 @6 g: [4 E: /5 X* f
A macro processor that is used automatically by the GNU C compiler ; n; N& C0 q+ z* K
to transform programs before actual compilation.
. M: _% k8 U' H1 i @
This package has been separated from gcc for the benefit of those who
require the preprocessor but not the compiler. / B* q# /0 v) R5 v* {
Bugs: mailto:ubuntu-users@lists.ubuntu.com 9 |* _6 g0 E: k2 p/ {
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop
! x2 f! g* K/ c; {& U. h
5、libgcc11 d- V) V; j2 `6 e/ U `
gcc还依赖于libgcc1这个软件包。libgcc1是用于gcc软件自身的必须组件。软件包信息如下:, I) o% s* k, i/ v! C4 G
引用:
Package: libgcc1
Priority: required
Section: libs 1 y; w" S& Y7 o( t2 B- e2 ?* l
Installed-Size: 68 $ F, D' a0 [$ F5 o* e& l v# C
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> : Q0 D. p" `2 y$ g0 @
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 / Q7 u, T) ]3 ?5 Q
Source: gcc-4.1 (4.1.1-13ubuntu5) ' s" b, q9 @3 m; O
Version: 1:4.1.1-13ubuntu5
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1)
Filename: pool/main/g/gcc-4.1/libgcc1_4.1.1-13ubuntu5_i386.deb
Size: 21404 ' o! e/ b7 F; Z) Y3 r1 {
MD5sum: 879959bc964403be55aa096a8bb269f9
SHA1: 3a3cfd824e25a2ce9008d98da1269f5ffdb7507f
SHA256: 62f3f64daaa1dd19fc76d966718184d1e0e0ee9f733f7f955b8b09e27b69a7d1
Description: GCC support library ; Z& x2 z3 /" g' n
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages. # K( Z4 `4 X; u5 Q) B
Bugs: mailto:ubuntu-users@lists.ubuntu.com $ B% ?3 Y6 J; X# F; A8 i$ z" `
Origin: Ubuntu % ?: }; y, l, B) u* G6 m
Task: minimal
: n7 G# n9 _% J/ r( ~
6、libc6! x$ F, C7 l1 S
C语言程序要能够运行,需要一些运行时库文件和一些库文件操作命令。libc6这个软件包就是用来提供这些的。这个软件包几乎是Linux系统自带的,因为所有C程序的运行都离不开此软件包。软件包信息如下:2 i+ /: Z- D" t6 B1 Q, i3 _7 x: Z
引用:
9 n4 K4 a" `/ r$ o5 ^: h6 p4 |8 w3 NPackage: libc6
Priority: required 4 Q& B' d! n+ x( j2 k& t% i& u* ~
Section: base
Installed-Size: 9992 / a; [' O" q# o' S" A
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> 8 M8 w: A' y p' ?
Architecture: i386
Source: glibc 8 w& }- {, x2 T- {' z# }9 ^- u
Version: 2.4-1ubuntu12.3 4 A4 w3 [* p4 N) /1 R- X8 z
Replaces: ldso (<= 1.9.11-9), timezone, timezones, gconv-modules, libtricks, libc6-bin, netkit-rpc, netbase (<< 4.0)
Provides: glibc-2.3.6-2, glibc-2.3.5-3
Depends: locales (>= 2.3.11) 4 h# W7 U4 z' o* F
Suggests: locales, glibc-doc - J3 I- f+ Q9 j2 X8 P
Conflicts: strace (<< 4.0-0), libnss-db (<= 2.2-6.1.1), timezone, timezones, gconv-modules, libtricks, libc6-doc, libc5 (<< 5.4.33-7), libpthread0 (<< 0.7-10), libc6-bin, libwcsmbs, apt (<< 0.3.0), libglib1.2 (<< 1.2.1-2), netkit-rpc, wine (<< 0.0.20031118-1), cyrus-imapd (<< 1.5.19-15), e2fsprogs (<< 1.35-7), initrd-tools (<< 0.1.84.1), libterm-readline-gnu-perl (<< 1.15-2)
Filename: pool/main/g/glibc/libc6_2.4-1ubuntu12.3_i386.deb
Size: 4129182 ; g, N+ Y- O; z% I( q8 T2 ]! v
MD5sum: 012994de4fa9093d6fdba6c2304ddb9a
SHA1: 187b850b1ac6153838ae2c1f8518342325ffe2ca . v% ]% B" Q# Q$ J" ?! P: z
SHA256: 6ad0ee8cccb09117df4f6c02a275940b8bb27883219b205cad1840ccf870a790 ) X4 v1 ~/ E% S! n9 r( T4 _8 F3 B
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on U* M# I% X, d$ K8 Y5 j6 M0 r
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.
Bugs: mailto:ubuntu-users@lists.ubuntu.com 0 U. h1 F/ E8 x( I4 K' S) f
Origin: Ubuntu
Task: minimal , f9 Q8 d$ Z9 X8 u0 Y1 R4 ]4 g
! J4 R8 N, m# r+ L, g5 ^
7、binutils' h, P- a( Q9 M7 V7 b* Q3 i
程序从源代码到可执行程序的过程中,必然需要一些工具来辅助完成。binutils软件包就是提供一些工具的,软件包信息如下:
引用:
Package: binutils
Priority: optional * p* I( M- L- l' c6 d
Section: devel . y /* d$ t) @
Installed-Size: 7076 ) q. w7 R H H i/ K* K/ P
Maintainer: James Troup <james@nocrew.org> ' I3 j7 P1 y/ U+ @
Architecture: i386
Version: 2.17-1ubuntu1 ; O& o$ _$ V* {* [
Provides: elf-binutils 1 g, e6 R) T, l
Depends: libc6 (>= 2.4-1) + /1 G d8 h3 |. Z% X7 p# x, A+ {
Suggests: binutils-doc (= 2.17-1ubuntu1)
Conflicts: gas, elf-binutils, modutils (<< 2.4.19-1)
Filename: pool/main/b/binutils/binutils_2.17-1ubuntu1_i386.deb . n; R& {+ J/ b. G0 g! z
Size: 1440506
MD5sum: e9ae8f7ad19ce94dbfb2d96c3023941b . F: L' A4 y6 ]) i
SHA1: 58bb97665e26785b1667f9d988443b9719c57bea 2 u* z" h/ i) W, /! R2 o3 {+ o% C
SHA256: 43c9ee10660b853deea247c21c5ad61d5d184e6b13484eb6c6cd696d17eae31e ( x2 ]" Z' g; l# G$ ]
Description: The GNU assembler, linker and binary utilities
The programs in this package are used to assemble, link and manipulate
binary and object files. They may be used in conjunction with a compiler
and various libraries to build programs. 2 I7 z% _, l. r; b+ g2 K
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 0 d( /$ b& p: i+ f
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-server, xubuntu-desktop
5 L$ i6 ?) E) k* [9 h
这个软件包提供下面这些非常有用的命令:引用:
1 y) /8 ?1 f/ Y3 A9 E/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objdump # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引 " @, v6 J$ ?8 q
/usr/bin/objcopy # 复制或转换目标文件 * b) ~# K/ F, k+ {9 i7 z
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号 % N9 V d. N& _/ G! U% b2 ^
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式 0 F( D: P+ F+ A; K b) l
/usr/bin/nm # 显示目标文件里的符号 `2 B: K9 g0 J* [' Y( P
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号 ; ?) h C" w0 E
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
6 [4 V+ ?3 _) z
8、locales
这个软件包提供本地语言环境支持,软件包信息如下:+ H! K K5 {- s9 O+ j' ^- i
引用:
/ n% U; {# O, u0 H0 L$ G
Package: locales " O- `( R% ~# i- K2 ]; z" S; ~
Priority: required
Section: base
Installed-Size: 7284
Maintainer: Martin Pitt <martin.pitt@ubuntu.com>
Architecture: all
Source: langpack-locales - T( `7 n5 h: c" s2 i
Version: 2.3.22 . z ~, O0 e, d c
Replaces: belocs-locale-data, base-config, libc6 (<< 2.3.6-0ubuntu6), libc6.1 (<< 2.3.6-0ubuntu6)
Depends: belocs-locales-bin (>= 2.4), tzdata
Conflicts: belocs-locale-data, base-config 5 T+ @# q0 `/ S! N# c8 ^' _
Filename: pool/main/l/langpack-locales/locales_2.3.22_all.deb
Size: 3023314 ! I# T3 W% r2 {) B
MD5sum: bfc03e46a01addb754b9ea03979c3458
SHA1: 219943450cf30851870b89cabe766da04b4cdff3 0 _$ o: ^+ @5 U4 B
SHA256: fe9345e58e70db1c8c6e798f40a07d988f2d4c5de4408e9c8ac3db87d99fbe24 $ r; N3 B/ M& c( N
Description: common files for locale support 6 x: Z! ?1 W. |1 J
This package provides support for localized environments (locales).
It installs character and transliteration maps, provides the POSIX
locale definition and provides common scripts for language pack
handling. : O1 i" R) c* X
. |2 l q$ p9 p, |
The actual locale definitions are not part of this package, these are . ^& I; g2 U% {4 g- Q3 t& L9 ?0 g
shipped in the language packs and are installed and removed ' o: m2 ?: A' U9 G
automatically.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ' o* Z5 o1 Y6 `7 K" Z4 y
Task: minimal
. g! F' @, T7 j9 o( q7 z
虽然上面列了这么多必需的软件包,但实际上因为他们之间有依赖关系,所以在安装完系统后我们只需要输入下面一个命令:
代码:
apt-get install gcc
系统就会自动帮忙把这些软件包安装上。
/************关于本文档********************************************/ K5 c; H7 d: G" I; L, c
*filename: 我是这样学习Linux下C语言编程的-Linux下C语言编程环境的搭建$ X6 d8 K q6 o* /) d
*purpose: 列出Linux下C语言编程者必备的几个软件包
*wrote by: zhoulifa(zhoulifa@163.com) 周立发()
Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言. I4 g8 r# i" T
*date time:2007-02-09 18:20
*Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途
* 但请遵循GPL# q4 D" K) D% H0 F! Z
*Thanks to:Ubuntu
*Hope:希望越来越多的人贡献自己的力量,为科学技术发展出力; A9 n6 S3 `- {0 }2 L4 @# ~
* 科技站在巨人的肩膀上进步更快!感谢有开源前辈的贡献!& D8 D* y2 |( N# p% j; E! U( J
*********************************************************************/3 @- @1 n4 m- M Z
9、libc6-dev! P8 t. ]$ L) ~; n( X# T
我们要进行软件开发,必然需要一些库文件和头文件,在Linux常用的就是GNU的C语言库libc,要安装开发工具必须安装这个libc6-dev软件包,信息如下:
引用:
; L( F* h( Z+ f" j+ v2 q8 E
Package: libc6-dev " p/ /9 F5 w; o6 i7 F, j
Priority: optional 0 Y7 z! n$ s' P, v
Section: libdevel ' `6 P- r6 }+ {. t C
Installed-Size: 7872
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> 8 K0 ] d, r0 n5 B$ [
Architecture: i386 " K6 ]6 {! T# a: F4 L
Source: glibc $ G# j7 t. b8 m1 t' v
Version: 2.4-1ubuntu12.3
Replaces: man-db (<= 2.3.10-41), gettext (<= 0.10.26-1), ppp (<= 2.2.0f-24), libgdbmg1-dev (<= 1.7.3-24), ldso (<= 1.9.11-9), netkit-rpc, netbase (<< 4.0), kerberos4kth-dev (<< 1.2.2-10), libc6-prof (<< 2.3.5-2) / X. Q% l) |9 c+ I- Y
Provides: libc-dev
Depends: libc6 (= 2.4-1ubuntu12.3), linux-libc-dev
Recommends: gcc | c-compiler 1 W6 ~- /1 Q7 T3 f7 L2 J
Suggests: glibc-doc, manpages-dev * o3 q% N3 n! J! /1 z4 w6 m5 s
Conflicts: libstdc++2.10-dev (<< 1:2.95.2-15), gcc-2.95 (<< 1:2.95.3-9), libpthread0-dev, libdl1-dev, libdb1-dev, libgdbm1-dev, libc6-dev (<< 2.0.110-1), locales (<< 2.1.3-5), libstdc++2.9-dev, netkit-rpc, libc-dev
Filename: pool/main/g/glibc/libc6-dev_2.4-1ubuntu12.3_i386.deb 5 g/ B% p1 }. {9 D- v
Size: 1851740 ' ~) U8 I! B; ^" i; B. {
MD5sum: 3d251ab59720128c3d95e427649e1528
SHA1: a80d219c65eb3f9f78be17dd3cd0f0017fbb0f78 + L9 k2 z2 l$ {# ]+ b/ b
SHA256: a2b0869b9b732aa56f9108849960e9f72b13bbe76bf58d8af7965c937bdaea0a
Description: GNU C Library: Development Libraries and Header Files
Contains the symlinks, headers, and object files needed to compile . ^) J& P, f9 f; I$ q1 Q' u
and link programs which use the standard C library. + D$ k- h& x/ d# k! r8 _+ R: |6 E
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu
Task: kubuntu-desktop
--------------------next---------------------
引用:
) b B* G, y1 e0 R# @' @5 |
Package: cpp-4.1 7 j' V! B/ D- X |' U# W" Z( `
Priority: optional ! E P) a# w8 v. V
Section: interpreters 3 G b* s6 L& h+ Q
Installed-Size: 5196 . x( r* j# }1 a7 k. |0 f& H
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> & O& y; B8 I8 Y
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386
Source: gcc-4.1 7 R1 L: B0 a+ w2 ~
Version: 4.1.1-13ubuntu5
Replaces: gcj-4.1 (<< 4.1.1) / ]1 @. S0 o0 u5 S8 q
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1) 3 ~& a3 B; B# A7 [* R
Suggests: gcc-4.1-locales (>= 4.1.1)
Conflicts: gcj-4.1 (<< 4.1.1) / R0 R8 j0 B* h6 l! L9 B
Filename: pool/main/g/gcc-4.1/cpp-4.1_4.1.1-13ubuntu5_i386.deb
Size: 2309026
MD5sum: abfee8be3d7aeb0ad3eb4e7738838dca
SHA1: 8a51c79c2b961686b98617772b9da4800f173dbe
SHA256: 115aad59c02eee574066e21e6ed7a32bee1ed86e3abb73189645928832258ea0
Description: The GNU C preprocessor 4 ]$ c: C1 @6 g: [4 E: /5 X* f
A macro processor that is used automatically by the GNU C compiler ; n; N& C0 q+ z* K
to transform programs before actual compilation.
. M: _% k8 U' H1 i @
This package has been separated from gcc for the benefit of those who
require the preprocessor but not the compiler. / B* q# /0 v) R5 v* {
Bugs: mailto:ubuntu-users@lists.ubuntu.com 9 |* _6 g0 E: k2 p/ {
Origin: Ubuntu
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop, xubuntu-desktop
--------------------next---------------------
引用:
Package: libgcc1
Priority: required
Section: libs 1 y; w" S& Y7 o( t2 B- e2 ?* l
Installed-Size: 68 $ F, D' a0 [$ F5 o* e& l v# C
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com> : Q0 D. p" `2 y$ g0 @
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Architecture: i386 / Q7 u, T) ]3 ?5 Q
Source: gcc-4.1 (4.1.1-13ubuntu5) ' s" b, q9 @3 m; O
Version: 1:4.1.1-13ubuntu5
Depends: gcc-4.1-base (= 4.1.1-13ubuntu5), libc6 (>= 2.4-1)
Filename: pool/main/g/gcc-4.1/libgcc1_4.1.1-13ubuntu5_i386.deb
Size: 21404 ' o! e/ b7 F; Z) Y3 r1 {
MD5sum: 879959bc964403be55aa096a8bb269f9
SHA1: 3a3cfd824e25a2ce9008d98da1269f5ffdb7507f
SHA256: 62f3f64daaa1dd19fc76d966718184d1e0e0ee9f733f7f955b8b09e27b69a7d1
Description: GCC support library ; Z& x2 z3 /" g' n
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages. # K( Z4 `4 X; u5 Q) B
Bugs: mailto:ubuntu-users@lists.ubuntu.com $ B% ?3 Y6 J; X# F; A8 i$ z" `
Origin: Ubuntu % ?: }; y, l, B) u* G6 m
Task: minimal
--------------------next---------------------
引用:
9 n4 K4 a" `/ r$ o5 ^: h6 p4 |8 w3 NPackage: libc6
Priority: required 4 Q& B' d! n+ x( j2 k& t% i& u* ~
Section: base
Installed-Size: 9992 / a; [' O" q# o' S" A
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> 8 M8 w: A' y p' ?
Architecture: i386
Source: glibc 8 w& }- {, x2 T- {' z# }9 ^- u
Version: 2.4-1ubuntu12.3 4 A4 w3 [* p4 N) /1 R- X8 z
Replaces: ldso (<= 1.9.11-9), timezone, timezones, gconv-modules, libtricks, libc6-bin, netkit-rpc, netbase (<< 4.0)
Provides: glibc-2.3.6-2, glibc-2.3.5-3
Depends: locales (>= 2.3.11) 4 h# W7 U4 z' o* F
Suggests: locales, glibc-doc - J3 I- f+ Q9 j2 X8 P
Conflicts: strace (<< 4.0-0), libnss-db (<= 2.2-6.1.1), timezone, timezones, gconv-modules, libtricks, libc6-doc, libc5 (<< 5.4.33-7), libpthread0 (<< 0.7-10), libc6-bin, libwcsmbs, apt (<< 0.3.0), libglib1.2 (<< 1.2.1-2), netkit-rpc, wine (<< 0.0.20031118-1), cyrus-imapd (<< 1.5.19-15), e2fsprogs (<< 1.35-7), initrd-tools (<< 0.1.84.1), libterm-readline-gnu-perl (<< 1.15-2)
Filename: pool/main/g/glibc/libc6_2.4-1ubuntu12.3_i386.deb
Size: 4129182 ; g, N+ Y- O; z% I( q8 T2 ]! v
MD5sum: 012994de4fa9093d6fdba6c2304ddb9a
SHA1: 187b850b1ac6153838ae2c1f8518342325ffe2ca . v% ]% B" Q# Q$ J" ?! P: z
SHA256: 6ad0ee8cccb09117df4f6c02a275940b8bb27883219b205cad1840ccf870a790 ) X4 v1 ~/ E% S! n9 r( T4 _8 F3 B
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on U* M# I% X, d$ K8 Y5 j6 M0 r
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.
Bugs: mailto:ubuntu-users@lists.ubuntu.com 0 U. h1 F/ E8 x( I4 K' S) f
Origin: Ubuntu
Task: minimal , f9 Q8 d$ Z9 X8 u0 Y1 R4 ]4 g
--------------------next---------------------
引用:
Package: binutils
Priority: optional * p* I( M- L- l' c6 d
Section: devel . y /* d$ t) @
Installed-Size: 7076 ) q. w7 R H H i/ K* K/ P
Maintainer: James Troup <james@nocrew.org> ' I3 j7 P1 y/ U+ @
Architecture: i386
Version: 2.17-1ubuntu1 ; O& o$ _$ V* {* [
Provides: elf-binutils 1 g, e6 R) T, l
Depends: libc6 (>= 2.4-1) + /1 G d8 h3 |. Z% X7 p# x, A+ {
Suggests: binutils-doc (= 2.17-1ubuntu1)
Conflicts: gas, elf-binutils, modutils (<< 2.4.19-1)
Filename: pool/main/b/binutils/binutils_2.17-1ubuntu1_i386.deb . n; R& {+ J/ b. G0 g! z
Size: 1440506
MD5sum: e9ae8f7ad19ce94dbfb2d96c3023941b . F: L' A4 y6 ]) i
SHA1: 58bb97665e26785b1667f9d988443b9719c57bea 2 u* z" h/ i) W, /! R2 o3 {+ o% C
SHA256: 43c9ee10660b853deea247c21c5ad61d5d184e6b13484eb6c6cd696d17eae31e ( x2 ]" Z' g; l# G$ ]
Description: The GNU assembler, linker and binary utilities
The programs in this package are used to assemble, link and manipulate
binary and object files. They may be used in conjunction with a compiler
and various libraries to build programs. 2 I7 z% _, l. r; b+ g2 K
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 0 d( /$ b& p: i+ f
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-server, xubuntu-desktop
--------------------next---------------------
引用:
1 y) /8 ?1 f/ Y3 A9 E/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objdump # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引 " @, v6 J$ ?8 q
/usr/bin/objcopy # 复制或转换目标文件 * b) ~# K/ F, k+ {9 i7 z
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号 % N9 V d. N& _/ G! U% b2 ^
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式 0 F( D: P+ F+ A; K b) l
/usr/bin/nm # 显示目标文件里的符号 `2 B: K9 g0 J* [' Y( P
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号 ; ?) h C" w0 E
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
--------------------next---------------------
引用:
/ n% U; {# O, u0 H0 L$ G
Package: locales " O- `( R% ~# i- K2 ]; z" S; ~
Priority: required
Section: base
Installed-Size: 7284
Maintainer: Martin Pitt <martin.pitt@ubuntu.com>
Architecture: all
Source: langpack-locales - T( `7 n5 h: c" s2 i
Version: 2.3.22 . z ~, O0 e, d c
Replaces: belocs-locale-data, base-config, libc6 (<< 2.3.6-0ubuntu6), libc6.1 (<< 2.3.6-0ubuntu6)
Depends: belocs-locales-bin (>= 2.4), tzdata
Conflicts: belocs-locale-data, base-config 5 T+ @# q0 `/ S! N# c8 ^' _
Filename: pool/main/l/langpack-locales/locales_2.3.22_all.deb
Size: 3023314 ! I# T3 W% r2 {) B
MD5sum: bfc03e46a01addb754b9ea03979c3458
SHA1: 219943450cf30851870b89cabe766da04b4cdff3 0 _$ o: ^+ @5 U4 B
SHA256: fe9345e58e70db1c8c6e798f40a07d988f2d4c5de4408e9c8ac3db87d99fbe24 $ r; N3 B/ M& c( N
Description: common files for locale support 6 x: Z! ?1 W. |1 J
This package provides support for localized environments (locales).
It installs character and transliteration maps, provides the POSIX
locale definition and provides common scripts for language pack
handling. : O1 i" R) c* X
. |2 l q$ p9 p, |
The actual locale definitions are not part of this package, these are . ^& I; g2 U% {4 g- Q3 t& L9 ?0 g
shipped in the language packs and are installed and removed ' o: m2 ?: A' U9 G
automatically.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ' o* Z5 o1 Y6 `7 K" Z4 y
Task: minimal
--------------------next---------------------
引用:
' O1 v# c7 a% N
Package: make - K# [8 ] @. k3 P/ h i
Priority: optional
Section: devel . Y" f1 S! @3 a+ b) a$ t1 r9 {
Installed-Size: 1200
Maintainer: Manoj Srivastava <srivasta@debian.org>
Architecture: i386
Source: make-dfsg
Version: 3.81-2
Depends: libc6 (>= 2.4-1)
Suggests: make-doc-non-dfsg 1 q, `! {+ a" R2 a
Filename: pool/main/m/make-dfsg/make_3.81-2_i386.deb 9 |, t: s) l! h/ Q5 x0 ^
Size: 148054 ; v) r% a- l1 @0 E3 ]
MD5sum: 818d9b86d322629e5f218e8a101157c9 4 ~1 G% }7 T2 n7 j3 p! Z, M3 e; U; Y6 R$ A
SHA1: b5a04fd649b418b689c4918f17b5d94d01b11c5d $ J' q; m, v+ @* r; P4 f5 q
SHA256: 6dc9467599278802a34c2a7ee9125a7f4b42719fcc8fdab8124bde7db80c5328 - T- Y: n% /) e% B4 t5 D, G% T
Description: The GNU version of the "make" utility.
GNU Make is a program that determines which pieces of a large
program need to be recompiled and issues the commands to recompile : ]4 h% O# F9 F4 r' T" p) o8 }
them, when necessary. More information about GNU Make can be found in
the `make' Info page. The upstream sources for this package are
available at the location . The ) P: c+ W/ l1 D8 E
documentation for this package does not meet the Debian Free Software & N8 /# l! g0 @4 T9 k- D6 Y' R
Guidelines, and has been removed from this package.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ! o, R3 C, e! v7 L" h0 C/ d! V
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-desktop
* y' [+ ^% h- Q# i6 u* G
14、make-doc* Y$ n. o, O& e7 O+ t ^' ]2 `
要运行make工具,先得学会怎么用它吧?看这个软件包提供的文档就行了。此软件包信息如下:
引用:
! n ~+ l8 L7 D3 B* ^5 l2 q3 APackage: make-doc
...... " k4 N+ ] S- G/ M4 I
Description: Documentation for the GNU version of the "make" utility. . z0 H4 v' ?) `6 {# @- H6 z
This package contains the documentation for GNU Make. The upstream 6 j* h+ W, x* T1 H
sources for this package are available at the location * p4 W; D0 t) /6 p: K
. This package has been stripped down to 9 A. r* i5 @6 t. D G
only contain the documentation; since the documentation is covered
under a non-free license and thus has been moved to ) S. ?/ T5 R! }" W7 J3 S2 A
non-free/doc. Make itself remains in Debian.
Enhances: make
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu ' u3 n L) P3 l# c
0 J) Y* I5 Z% {
安装好这个软件包后,用浏览器打开/usr/share/doc/make-doc/make.html文档开始学习make的用法吧。
15、gdb
编写程序必然需要调试,在Linux常用的程序调试工具是gdb,此软件包信息如下:4 /5 ^- Y3 o$ w/ I. ^
引用:
Package: gdb
Priority: optional
Section: devel % K W5 t, X0 i3 Z' r7 U
Installed-Size: 5108 3 i6 T) J1 R) L0 I! ^8 O
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Daniel Jacobowitz <dan@debian.org> + X5 I. P1 h# {: ]1 p
Architecture: i386 . u* z0 /- _0 P G7 D, H. d
Version: 6.4.90.dfsg-1ubuntu3 & R. d* A4 j& E+ x
Replaces: gdb-arm, insight (<< 6.1+cvs.2004.04.07-1)
Depends: libc6 (>= 2.4-1), libncurses5 (>= 5.4-5), libreadline5 (>= 5.1)
Suggests: gdb-doc
Conflicts: gdb-arm 5 d4 D; |/ o: Q) d8 r
Filename: pool/main/g/gdb/gdb_6.4.90.dfsg-1ubuntu3_i386.deb
Size: 2371532
MD5sum: c3483bd4246e5a15e1a940d4b907c45e
SHA1: 986b32bde241bef04e3e61a3fbe74e16f32b526a
SHA256: 69adcb23c8be1e0a50bb59f916a32a7da90836b02e08d2ca84e8ae63fad2fc01 6 f' k/ J# P* w/ H# P9 _# e
Description: The GNU Debugger
GDB is a source-level debugger, capable of breaking programs at
any specific line, displaying variable values, and determining
where errors occurred. Currently, it works for C, C++, Fortran, 0 }7 s0 [8 X2 h' D! u
Modula 2 and Java programs. A must-have for any serious 4 Y; /2 u' X b4 p" ` K$ f# q
programmer. ; }; |8 q2 W' /
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 1 l( {/ R- y' P9 ]- N, ~* G
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop
& y% [7 Z1 i9 e# [) o
有了上面的gdb程序调试工具了,怎么学会使用它呢?安装这个软件包gdb-doc,即gdb的文档,此软件包信息如下:
引用:
& s: L: q7 q! t( v# f ~, tPackage: gdb-doc
......
Description: The GNU Debugger Documentation 2 F4 O$ V2 [; R% L. p/ M% I
GDB is a source-level debugger, capable of breaking programs at " T3 J) P; R' x' G$ q7 D% e
any specific line, displaying variable values, and determining
where errors occurred. Currently, it works for C, C++, Fortran, + D* k$ |8 e# K) l8 G4 w3 m6 n
Modula 2 and Java programs. A must-have for any serious
programmer.
. - }/ ]' x8 Q4 i. ^! N& Z* n
This package contains the GDB and GDB Internals manuals.
Bugs: mailto:ubuntu-users@lists.ubuntu.com % x* P* J# q3 A& L6 E) S
Origin: Ubuntu
2 B; z+ P9 z8 V# y+ V
安装好软件后就可以通过电脑上的文档自学gdb的使用了。
17、编辑器9 D& F( v7 _# C% S5 P
要编写C程序,总得有个编辑工具吧?Linux下这类工具相当多,关键在于熟练掌握一种。5 T7 Y; W: c0 Q6 B0 y* `
比如文本界面的编辑器vi, vim, emacs等
比如图形界面的编辑器gedit, kate, kwrite等2 f! V; h& i. J3 A9 Z2 B
又比如IDE环境的:anjuta, eclipse, kdevelop等
选择一个自己习惯的熟练使用起来就行了。. k3 _4 @% ^. T: d: g5 s% c* M
& T G2 y' T) z1 `% h
这些只是基本的Linux下C编程环境必须的软件包。如果这些熟练掌握了,可以试试下面这些软件包: T3 F# j' J1 f. O; ?/ |1 z
autoconf, automake1.9, libtool, flex, bison
当然还有对应的文档用于自学。) n/ ~1 A& D. s5 p$ r
甚至可以试试IDE环境下其它语言编程,比如gtk, qt等
--------------------next---------------------
引用:
Package: gdb
Priority: optional
Section: devel % K W5 t, X0 i3 Z' r7 U
Installed-Size: 5108 3 i6 T) J1 R) L0 I! ^8 O
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Original-Maintainer: Daniel Jacobowitz <dan@debian.org> + X5 I. P1 h# {: ]1 p
Architecture: i386 . u* z0 /- _0 P G7 D, H. d
Version: 6.4.90.dfsg-1ubuntu3 & R. d* A4 j& E+ x
Replaces: gdb-arm, insight (<< 6.1+cvs.2004.04.07-1)
Depends: libc6 (>= 2.4-1), libncurses5 (>= 5.4-5), libreadline5 (>= 5.1)
Suggests: gdb-doc
Conflicts: gdb-arm 5 d4 D; |/ o: Q) d8 r
Filename: pool/main/g/gdb/gdb_6.4.90.dfsg-1ubuntu3_i386.deb
Size: 2371532
MD5sum: c3483bd4246e5a15e1a940d4b907c45e
SHA1: 986b32bde241bef04e3e61a3fbe74e16f32b526a
SHA256: 69adcb23c8be1e0a50bb59f916a32a7da90836b02e08d2ca84e8ae63fad2fc01 6 f' k/ J# P* w/ H# P9 _# e
Description: The GNU Debugger
GDB is a source-level debugger, capable of breaking programs at
any specific line, displaying variable values, and determining
where errors occurred. Currently, it works for C, C++, Fortran, 0 }7 s0 [8 X2 h' D! u
Modula 2 and Java programs. A must-have for any serious 4 Y; /2 u' X b4 p" ` K$ f# q
programmer. ; }; |8 q2 W' /
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu 1 l( {/ R- y' P9 ]- N, ~* G
Task: ubuntu-desktop, kubuntu-desktop, edubuntu-desktop
--------------------next---------------------