编译磨森: hello 为编译链接后的可执行性文件,hello.c为源文卜如件
gcc -o hello hello.c
运行:
./hello
要想在Linux下进行C语言编程,首先得搭建好一唤腊雀个编程环境。这里分别说明一下几个非常有用的软件包。如果你对Linux下软件安装方法还不清楚,请参考文章“Linux下软件安装方法总结”http://zhoulifa.bokee.com/5444771.html
1、gcc
要进行C语言编程,首先得有个C语言的编译器,Linux下常用的是GNU C Compiler gcc。
gcc软件是用来提供默认值的。从Depends可以看出要gcc真正工作必须有对应的cpp和gcc版本。
比如cpp-4.1和gcc-4.1、cpp-3.3和gcc-3.4
2、gcc-*
3、cpp
gcc要进行程序编译,首先需要进行一个预编译过程。该过程对程序源代码进行预处理。
4、cpp-*
5、libgcc1
gcc还依赖于libgcc1这个软件包。libgcc1是用于gcc软件自身的必须组件。
6、libc6
C语言程序要能够运行,需要一些运行时库文件和一些库文件 *** 作命令。libc6这个软件包就是用来提供这些的。这个软件包几乎是Linux系统自带的,局老因为所有C程序的运行都离不开此软件包。
7、binutils
程序从源代码到可执行程序的过程中,必然需要一些工具来辅助完成。binutils软件包就是提供一些工具的
这个软件包提供下面这些非常有用的命令:
/usr/bin/size # 显示每个目标文件或归档文件的章节大小和总的大小
/usr/bin/objdump # 显示目标文件的信息
/usr/bin/ar # 归档文件管理工具,可以创建、修改或打开一个归档文件
/usr/bin/strings # 显示一个文件中的可打印字符串,比如文本文件的全部或目标文件里的字符串
/usr/bin/ranlib # 产生归档文件的索引
/usr/bin/objcopy # 复制或转换目标文件
/usr/bin/addr2line # 把一个地址信息转换为文件名和行号
/usr/bin/readelf # 显示 ELF 文件信息, ELF 文件格式即 Linux 目前流行的可执行文件格式
/usr/bin/nm # 显示目标文件里的符号
/usr/bin/strip # 去除目标文件里的符号
/usr/bin/c++filt # 识别 C++ 和 Java 符号
/usr/bin/as # GNU 汇编工具
/usr/bin/gprof #
/usr/bin/ld # GNU 链接工具
8、locales
这个软件包提供本地语言环境支持
虽然上面列了这么多必需的软件包,但实际上因为他们之间有依赖关系,所以在安装完系统后我们只需要输入下面一个命令:
apt-get install gcc
系统就会自动帮忙把这些软件包安装上。
9、libc6-dev
我们要进行软件开发,必然需要一些库文件和头文件,在Linux常用的就是GNU的C语言库libc,要安装开发工具必须安装这个libc6-dev软件包
11、glibc-doc-reference
理由同上,编程人员最喜欢的参考手册就是这个软件包了,可以称为Linux下C语言编程参考。
此参考手册有html和info两种格式,你可以用浏览器打开/usr/share/doc/glibc-doc-reference/html目录下的手册一页页看。把这里每个网页一点点看完了学会了基本上没有搞不定的问题了。
12、manpages-dev
在编程的过程中有时会记不得某个函数的用法,通常这时查man手册是比较快的,所以把这个manpages-dev软件包安装上。想要看某个函数的用法就man它。
这个软件包提供系统调用和库函数的在线手册。
13、和早make
在进行大项目时,通常我们的程序可能是由很多源文件组成的,各个源文件生成自己的目标文件,多个目标文件才链接形成一个新的目标文件或可执行程序。
在某个源文件发生变化时,我们只需要按照这种依赖关系运行各命令重新生成程序即可,而不需要对所有源文件重新编译。哪个该重新编译呢?可以让make程序帮忙 维护
14、make-doc
要运行make工具,先得学会怎么用它吧?看这个软件包提供的文档就行了。
安装好这个软件包后,用浏览器打开/usr/share/doc/make-doc/make.html文档开始学习make的用法吧。
15、gdb
编写程序必然需要调试,在Linux常用的程序调试工具是gdb
16、gdb-doc
有了上面的gdb程序调试工具了,怎么学会使用它呢?安装这个软件包gdb-doc,即gdb的文档
安装好软件后就可以通过电脑上的文档自学gdb的使用了。
17、编辑器
要编写C程序,总得有个编辑工具吧?Linux下这类工具相当多,关键在于熟练掌握一种。
比如文本界面的编辑器vi, vim, emacs等
比如图形界面的编辑器gedit, kate, kwrite等
又比如IDE环境的:anjuta, eclipse, kdevelop等
选择一个自己习惯的熟练使用起来就行了。
这些只是基本的Linux下C编程环境必须的软件包。如果这些熟练掌握了,可以试试下面这些软件包:
autoconf, automake1.9, libtool, flex, bison
当然还有对应的文档用于自学。
甚至可以试试IDE环境下其它语言编程,比如gtk, qt等
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)