ubuntu编译器
‘壹’ 在ubUNTU下大家都用什么c编译器
首先,请你分清楚编译器与编辑器,还有IDE的区别
编辑器是编辑文本,也就是写代码的软件.windows下有记事本(notepad)与notepad++等,linux下大家用的最多的还是vim和Emacs
如果初步接触ubuntu,可以尝试自带的gedit,不满意还可以换成其它的,诸如kate等
编译器指作用是是将源代码转换成可执行文件,这个其实是有很多种的,不过大家基本用的都是GCC(GNU Compiler Collection),windows下常说MinGW,那是把咱gcc移植到windows下的,简称就是Minimalist GNU on Windows.当然也有少数其它的,比如TCC(Tiny C Compiler)啥的
IDE是集成开发环境,windows下用的基本都是这个写程序.它集成了编辑器,编译器,调试器等等内容,知名的很多,比如Dev-cpp,VC等.linux下基本就告别这玩意了,因为IDE整合的东西不一定顺手,可能编辑器不如vim,调试器又不如gdb,各种不顺手.linux的哲学之一就是各司其职,而win下通常不同软件相同功能的实现都不一样
虽然说基本告别这玩意了,但是初步接触的话用一用过渡也不错
写工程的话推荐KDevelop,Anjuta,你也可以试试eclipse魔改
如果是刷刷OJ,写写小玩意的话,推荐CodeBlocks
另外强推Geany,不过大家用codeblocks居多?
‘贰’ ubuntu怎么安装gcc编译器
在Ubuntu下安装GCC和其他一些Linux系统有点不一样。
方法一:
该方法超简单:
sudo apt-get build-depgcc
就上面这条命令就可以搞定
方法二:
sudo apt-get install build-essential
还是简单,一句命令也可以搞定
安装完了可以执行
gcc--version
的命令来查看版本,输出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
‘叁’ ubuntu系统 C++编程哪个编译器好一点,最好
1、gcc (C编译器) 安装 apt-get install gcc 2、make (源代码维护工具,它能自动检测出需要重新编译的源文件并根据你设定的编译规则去重新编译程序) 安装 apt-get install make 3.kernel-source (内核源码包。你可以apt-cache search kernel-source搜索到内核源代码包,并用uname -r命令查看到当前系统内核版本,然后用apt-get install kernel-source-xxxx来安装和你内核版本一致的内核源代码包) 如果你不想重新编译内核,内核源代码包kernel-source是完全可以不下载的。 4.kernel-headers(内核源代码头文件包,不管你是要进行内核模块开发还是进行驱动程序开发,这个包都是必须 要安装的。因为作为一个内核模块编写者,通常会调用内核里的一些东西,比如内核头文件,内核数据结构申明等。它里面包含了一些关键的内核头文件) 安装 apt-cache search kernel-headers uname -r apt-get instakk kernel-headers-xxxx 5.kernel-kbuild(用来编译内核模块的,下载安装这个包后会发现在/usr/src目录下多了一个kernel-kbuild-xxxx开头的目录,下面只有scripts一个目录,这是用来编译内核模块的一些脚本程序) 安装 apt-cache search kernel-kbuild uname -r apt-get install kernel-kbuild-xxxx 6.build-essential(包含一个在建立deb包过程中起关键作用的包的信息列表,如果你不想建立deb包你就不需要安装此表) 安装 apt-get install build-essential 7.kernel-package(如果你想把内核镜像做成一个deb包来用,那么必须用安装这个包了) 安装 apt-get install kernel-package 8.initrd-tools(如果你想制作启动过程的initrd镜像,则这个包是必不可少的) 安装 apt-get instakk initrd-tools 假设你编写了一个内核模块程序,源代码如下: /* hello.c */ #include <linux/init.h> #include <linux/mole.h> #include <linux/kernel.h> static int hello_init(void) { printk(KERN_ALERT "Hello, linux kernel mole "); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye, I've created a linux kernel mole sucessfully "); } mole_init(hello_init); mole_exit(hello_exit); MODULE_LICENSE("GPL"); 你需要这此源程序编写一个makefile,内容如下: #Makefile for hello.c file # KERNEL_DIR:=/usr/src/linux obj-m:=hello.o default: $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) moles clean: $(RM) .*.cmd *.mod.c *.o *.ko -r .tmp 注意:这里的KERNEL_DIR是指内核源代码头文件所在目录的上一级目录,通常就是指内核源代码目录。该目录一般包括有arch,drivers,fs,include,init,ipc,kernel,lib,mm,net,scripts,usr,sound,security等目录。 在本示例中,/usr/src/linux是一个链接,指向了/usr/src/kernel-headers-2.6.8-3目录。 编写好makefile后就可以输入make命令生成hello.ko内核模块了,然后你可以用: insmode hello.ko 命令来加入内核模块,然后用: rmmod hello 来删除内核模块。