Fedora Linux 下安装配置C开发环境Code::Blocks
一、提前的话
要说C语言和Linux的关系大家应该都不会陌生,Linux系统内核就是用C语言开发的,所以所有的Linux系统下面 都会有C的编译调试工具,不过这些工具都是命令式的,正式开发的话会很不方便。Fedora在安装的时候可以选择安装Fedora Eclipse,这个IDE很强大,C,C++,Java,Python等等都支持,而且编译,调试和测试等功能也很完善。不过一般太强大的东西都有一个 毛病就是速度会比较慢,在dave的机器上,打开Eclipse需要20秒之多,选项也太多,用起来眼花缭乱。我们想要一个快速,灵活而不失强大的C开发 环境。
Code::Blocks是一款跨平台的C/C++的IDE。支持Windows,Linux,Mac操作系统,支持多种编译器,像 Microsoft C,GNU C,Borland C,Intel C等等,在Windows下有附带GNU C的版本。在Linux下自然不需要附带,因为系统已经给我们准备好了,那么下面咱们就安装并体验下这个IDE吧。
二、安装
Fedora等支持YUM的系统可以直接使用YUM命令来安装,在root账户下输入以下命令
yum install codeblocks
然后按照提示操作即可。
Ubuntu等支持apt-get的系统可以使用apt-get install codeblocks下载安装,或者从官网http://www.codeblocks.org/下载安装,具体步骤不再详述。
三、配置
安装成功之后,主菜单-->编程-->Code::Blocks IDE 进入IDE,第一次打开软件的时候会自动检测系统中存在的C编译器,Linux下一般都是自动检测到GNU C
图1:自动检测系统自带的编译器
检测完毕,点确定进入软件环境就可以看到Code::Blocks的界面了。
图2:Code::Blocks默认界面
是不是觉得窗口上的工具条有点乱,按照自己的喜好拖动下,立刻变得很整洁。
图3:调整后的界面
在dave的机器上,Code::Blocks检测出来的编译器的路径有点问题,以至于无法编译程序,不知道是不是系统的BUG,所以我们还要进一步检 查编译器的路径。点击菜单栏的Settings-->Compiler and debugger...进入编译器和调试器的设定对话框,看Selected compiler是不是你想要使用的编译器,由于我们默认是GNU C,所以这里显示的是GNU GCC Compiler。
图4:默认的GNU C编译器
然 后点击 Search directories旁边的箭头四次,使得标签到Toolchain executables这一项,然后在观察Compiler's installation directory 下面的文本框里填写的是不是你编译器的路径。Fedora下的GNU C默认路径是在/usr/bin下,这里显示的也是/usr
相关文档:
Windows 和 Linux 的IPC API对应表
Table 1. Process mapping
Windows
Linux
Classification
CreateProcess()
CreateProcessAsUser()
fork()
setuid()
exec()
Mappable
TerminateProcess()
kill()
Mappable
SetThreadpriority()
GetThreadPriority()
Setpriority()
getPriority()
Mappa ......
Linux下JDK的安装步骤:
第一部:改权限
[root@wxr java]# pwd
/usr/java
[root@wxr java]# chomd 755 jdk-6u19-linux-i586.bin
首先更改操作权限,加入写入和执行的权限。
第二部:安装
执行这个jdk-6u19-linux-i586.bin二进制可执行程序,实现安装:
[root@wxr java]# ./jdk-6u19-linux- ......
写这篇blog参照了O'Reilly 的《Understanding the Linux Kernel》,或者说是大部分参照,实际上这本书关于这章写得确实很经典。尽管如此,在看代码的过程中我仍然遇到了很多困惑,以至于看过两遍之后脑子里还是一团浆糊。所以还得感谢村爷帮我理清楚了思路,不敢怠慢,赶紧写下来防止忘记。(以下代码及解释均以2.4.18版本为 ......
http://topic.csdn.net/u/20100413/09/ffc0fcd5-c3c1-4a15-b5a2-f1bf65f50caa.html?21874
C/C++ code
typedef struct _VSCSIDISK_COMMON_DEVICE_EXTENSION
{
BOOLEAN IsPdo;
} VSCSIDISK_COMMON_DEVICE_EXTENSION, *PVSCSIDISK_COMMON_DEVICE_EXTENSION;
typedef struct _VSCSIDISK_PDO_DEVI ......