易截截图软件、单文件、免安装、纯绿色、仅160KB

ubuntu下,C/C++通过JNI调用 JAVA类

之前写过一个实现了某种功能的java程序,但由于近日“工作”需要,又需要在c/c++中重新使用该功能。为了节省时间,我采取了在c/c++中调用java程序的方法,但之前没有接触过类似的东西,到网上一查,果然有类似的东西,心中暗喜ing...。查到的资料中有几个不错的网页:
         http://blog.sina.com.cn/s/blog_48eef8410100fjxr.html
         http://www.diybl.com/course/6_system/linux/Linuxjs/20100331/201638.html
         http://hi.baidu.com/pjdashu/blog/item/5e54df9961040d006e068c1b.html
第一个网址,主要介绍了安装java环境和编译过程;
第二个网址,主要介绍了jni的使用方法。
第三个网址,最后的代码比较明确的说明了如何使用里面的字符串,可以直接看最后一段的代码。
我按照第一个网址的方法进行实验,发现了好多的问题。先把主要应该注意的地方记录如下:
我使用的环境是:Ubuntu8.04
安装配置Java环境以及编译
安装java环境时,我参照了 http://wiki.ubuntu.org.cn/Java安装配置
的安装配置方法,安装的是java6。下面的配置路径可能根据系统的不同,略有不同。在ubuntu下默认是安装到了/usr/lib/jvm下。

然而,此处的说法:“
要使配置生效必须重启机器或者在命令行输入
”并不完全正确,最起码对于LD_LIBRARY_PATH来说不正确,因为有资料显示:
貌似 Ubuntu 不能在 profile, environment,.bashrc中设置 LD_LIBRARY_PATH,
可以这样解决库装载问题:
编辑 /etc/ld.so.conf 文件,将指定的路径加上,或者在 /etc/ld.so.conf.d/
目录中添加一个新的配置文件,内容看一下该目录下其它文件就明白了。。。当然你得有权限这么做。(http://forum.ubuntu.org.cn/viewtopic.php?f=56&t=94830

       我的做法
要么每次使用之前,要么先运行“. /etc/environment”,要么“export LD_LIBRARY_PATH=
$JRE_HOME/lib/i386/client”
       配置过程中我还参照了第一个网址中的内容:
JAVA_HOME=/usr/local/java/jdk1.5.0_06
PATH=$PATH:/usr/local/java/jre1.5.0_05/bin
export JAVA_HOME PATH
export
JRE_HOME=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
exp


相关文档:

转载:Hadoop 应该用C++实现,而不是Java

http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html
Sunday, May 10, 2009
Hadoop should target C++/LLVM, not Java (because of watts)
< type="text/javascript">
digg_url="http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html";
Over the years, ......

使用 gperf 实现高效的 C/C++ 命令行处理


使用 gperf 实现高效的 C/C++ 命令行处理
GNU 完美(gperf)散列函数生成器简化复杂的输入字符串
文档选项
级别: 中级
Arpan Sen
(arpan@syncad.com
), 技术主管, Synapti Computer Aided Design Pvt Ltd
2007 年 9 月 10 日
GNU 的 gperf 工具是一种 “完美的” 散列函数,可以为用户提供的一组特 ......

C Error: mixed declaration and codes.

/*FIXME
ISO C如果你在main()中写代码的中间定义了一个对于main而言的全局变量,就会报出这个错误。
*/
把这个变量定义到main函数中的最前方,就会修正这个错误。
而且为了防止出错,设定的指针之后再有参数传入malloc之后立即对于指针予以空间的创建。防止出现指针未初始化从而引起将来赋值的时候将该值覆盖了已经为本 ......

指针变量的定义和初始化[c][code]


原帖:
http://hi.baidu.com/pepsi360/blog/item/cc74be4412cf6789b3b7dcd4.html
#include <stdio.h>
struct Node
{
    int a;
    char b[10];
     Node *next;
};
main(void)
{
    char   *p=NUL ......

My emacs color theme for c and c++

在这儿下载:color-theme
:
http://download.savannah.gnu.org/releases-noredirect/color-theme/
wget http://download.savannah.gnu.org/releases-noredirect/color-theme/color-theme-6.6.0.tar.gz
tar zxf color-theme-6.6.0.tar.gz -C ~/.emacs.d
在.emacs中加入下列语句:
;; corlor-theme ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号