NetBeans的远程Linux C开发实践

一直以来总觉得NetBeans生活在Eclipse的阴影下,同样做为一款不错的基于Java开发的IDE却走着完全不同的发展道路。可能是由于之前我一直较多的使用Java的缘故,所以Eclipse一直是我最为常用的工具。偶尔我也会尝鲜一下NetBeans,但是总觉得使用习惯上有点别扭。不过由于工作的需要,开始更多的接触Linux C,Eclipse CDT就显得越来越苍白。毕竟Cygwin和真正的Linux还是有很大差异的,写一个简单的C程序Cygwin可以应付,但是对于一个较大的C程序且需要非常复杂的环境时,Cygwin就明显的力不从心了。于是乎就开始寻找其他的解决方案……。

在网上搜索了相关的技术类文章,说实话,90%的文章内容相仿,或是抄来抄去,或是浅尝即止。大部分内容均来自官网手册,而使用的例子也是“Hello World”型的,毫无实用价值。做为一名“骑自行车”的架构师,有责任写一篇系统的,图文并茂的总结性文章,给所有有类似需要的同学提供一个有价值的参考。

闲话少说,先来介绍一下我们的环境和此次演示的例程:

环境:

本机环境为windows7,NetBeans7.3.1,Java1.6(NetBeans运行需要Java环境)。

远程主机为RHEL5.8 64位,SSH,Oracle数据库11.2.0,Oracle客户端11.2.0,GCC4.1.2,安装了所有C/C++开发包,编译安装ocilib3.12.1。

演示例程:

本次我们演示的例程是开发一个访问Oracle数据库的C程序,它需要访问一个第三方的函数库(ocilib),并且依赖Oracle客户端。

之所以采用这个例程主要出于如下几个目的:

1. 了解C访问Oracle数据库的其他方式(之前我们一般都使用PRO*C的方式);

2. 了解如何在远程模式下compile源代码;

3. 了解如何在远程模式下linked第三方函数库;

4. 了解如何在远程模式下进行Debug;

以上几个知识点基本上涵盖了日常开发中所需掌握的大部分技能(我指的仅限于开发工具的使用技能,至于编程技能因人而异了)。

一. 配置NetBeans远程开发环境

这部分确实很乏味,因为官网上已经有很详细的介绍了(中英文版都有),且网上也有一群人在不停的复制拷贝把自己当成复印机,所以我实在没必要再拷贝一遍。这里我提供一个链接:https://netbeans.org/kb/docs/cnd/remotedev-tutorial_zh_CN.html,,如果不知道如何配置的同学可以先去了解一下。

最后提供一下我自己本机上的配置结果截图,可做为一个参照系:

这里在唠叨几句,同学们可能看到那个图标是红色的,和上面的"localhost"的图标不一样,这是因为这个远程主机尚未连接,你可以通过在这个主机上单击右键,并选择“连接”命令来连接远程主机,如果连接成功图标就会变成绿色了。另外这里还会列出我远程主机上的工具链,有gcc, g++,make和gdb等,有了这些工具我们才能进行远程开发和调试。

NetBeans还提供了问题跟踪器(JIRA)和Hudson构建器服务,这 2个服务对我们日常的开发也大有帮助,至少我在Eclipse上没有发现这些有用的工具(可能是我孤陋寡闻)。

二. 准备远程主机开发环境

远程主机上需要安装Oracle数据库,当然还有Oracle数据库客户端(需要oci.h头文件和libclntsh.so动态库以及TNS的配置),这些环境的安装和配置如果要写又是上W字,估计写了你也不会去看,所以如果您对此还不甚了解,那就去google一下吧,相关的文章多的是(判断一个Oracle客户端是否安装成功,只要执行一下sqlplus命令并且可以连接Oracle数据库且可执行select语句即可)。

我这里想介绍一下ocilib函数库的编译安装。这个函数库是对OCI的一个封装,提供了非常友好的API接口,如果你熟悉JDBC,那你会觉得它很亲切。从上下载最新的版本,并解压缩到远程主机上。网上有些文章写的有点问题,编译参数不太一样,我的编译参数如下:

./configure –prefix=/usr/local/ocilib –with-oracle-lib-path=/u01/app/oracle/product/11.2.0/db_1/lib –with-oracle-headers-path=/u01/app/oracle/product/11.2.0/db_1/rdbms/publicmake && make install我是将其安装在/usr/local/ocilib目录中,并且一定要指定oracle的lib目录和头文件所在的目录,否则编译不通过。

当编译完成之后,会产生ocilib的头文件和相关的链接库,如下所示:

头文件目录及头文件。

动态库和静态库文件。

至此,我们的第三方函数库编译安装完成,接下去可以在本机上开发源代码了。

三. 在本机上编写源代码

最让人兴奋的环节到来了,终于可以写代码了。在NetBeans中新建一项目,选择项目类别为“C/C++应用程序”,然后点击下一步,如下图所示:

在第二个对话框中输入项目名称,项目位置,构建主机等信息,如下图所示:

最新点击完成,新建项目完成。如下图所示:

我们打开main.c文件,开始编写代码,如下所示:

青春一经典当即永不再赎

NetBeans的远程Linux C开发实践

相关文章:

你感兴趣的文章:

标签云: