怎么在Redhat linux下搭建C编程环境

怎么在Redhat linux下搭建C编程环境,第1张

要想在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等

这个问题相当专业了,之前我去周立功那边了解过的。

按照以下步骤进行安装:

1) 安装32位的兼容库和libncurses5-dev库

在安装交叉编译工具之前需要先安装32位的兼容库和libncurses5-dev库,安装32兼容库需要从ubuntu的源库中下载,所以需要在Linux主机系统联网的条件下,通过终端使用如下命令安装:

vmuser@Linux-host ~$sudo apt-get install ia32-libs

若Linux主机系统没有安装32位兼容库,在使用交叉编译工具的时候可能会出现错误:

-bash: ./arm-fsl-linux-gnueabi-gcc: 没有那个文件或目录

在终端中使用如下命令则可以安装libncurses5-dev库。

vmuser@Linux-host ~$sudo apt-get install libncurses5-dev

如果没有安装此库,在使用make menucofig时出现如下所示的错误:

*** Unableto find the ncurses libraries or the

*** required headerfiles.

*** 'makemenuconfig' requires the ncurses libraries.

***

Installncurses (ncurses-devel) and try again.

***

make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1

make: *** [menuconfig] 错误 2

2) 安装交叉编译工具链

将交叉编译工具“gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2”文件通过U盘的方式拷贝到Linux主机的“/tmp”目录下,然后执行如下命令进行解压安装交叉编译工具链:

vmuser@Linux-host ~$ cd /tmp

vmuser@Linux-host ~$ sudo tar -jxvfgcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 -C /opt/

vmuser@Linux-host /tmp$ # 输入vmuser用户的密码“vmuser”

执行完解压命令后,交叉编译工具链将被安装到“/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0”目录下。交叉编译器的具体目录是“/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin”,为了方便使用,还需将该路径添加到PATH环境变量中,其方法为:修改“/etc/profile”文件,具体 *** 作方法如下:

在终端中输入如下指令

vmuser@Linux-host ~$ sudo vi /etc/profile # 若提示输入密码,则输入“vmuser”

用vi编辑器打开“/etc/profile”文件后,在文件末尾增加如下一行内容:

export PATH=$PATH:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin

文件修改并保存后,再在终端中输入如下指令,更新环境变量,使设置生效。

vmuser@Linux-host ~$source /etc/profile

在终端输入arm-fsl-linux-gnueabi-并按TAB键,如果能够看到很多arm-fsl-linux-gnueabi-前缀的命令,则基本可以确定交叉编译器安装正确,如下图所示。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8309740.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存