Java调用C/C++ – JNI
昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/C++的头文件(比如:javah –o pzc.h –jni –classpath … pzjava.Main)。 C这边的:
做一个“中间层”的C或者C++文件,include刚才生成的头文件,把方法复制下来。
还要记得把%JAVA_HOME%\include\和%JAVA_HOME%\include\win32添加到编译器的头文件搜索路径中(还要添加上刚刚生成的头文件的搜索路径) 。
要注意设置好编译器输出的动态库文件名,要和loadLibrary中的一致(在Windows下如果xxx是"pzc”,那输出的就是pzc.dll,如果是linux,就是libpzc.so)。
还要注意设置编译器的其他参数,如:--add-stdcall-alias(在Windows下需要)(查看gcc手册就知道它的意思)。
编译好dll后把dll复制到java项目空间就行了。 有时gcc选项还要加-m32,按照原文所说的,意思应该是,如果是在64位的机器上想要把dll编译成32位的话,那就要加上这个选项。
相关文档:
synchronized的一个简单例子
public class TextThread
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO 自动生成方法存根
TxtThread tt = new TxtThread();
  ......
java中的事件机制的参与者有3种角色:
1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中
2.event source:具体的接受事件的实体,比如说,你点击一个button,那么button就是event source,这样你必须使button对某些事件进行相应,你就需 ......
先贴代码吧
感谢:http://xranming.blog.163.com/blog/static/24204952009914104148872/
http://www.diybl.com/course/3_program/java/javajs/20090303/157541.html
1、java代码:
主要采用dom来进行操作
java对xml操作有四种方法:http://passmatlab.bokee.com/3455905.html
package test;
import java ......
Linux
下
C
开发——
gcc
,
gdb
的使用
作者:
zccst
我们学习的过程应该是一个积累的过程,有无到有,又少到多,而不能像下山的猴子。
9
月份的时候是第一次系统学习
gcc, gdb, makefile
(详见前面博客)。如今作为嵌入式系统的一个组成部分,决定重学一次,感觉理解加深了一些。
gcc
......