UNIX下面的c不是很了解
在windows下面c是做成dll来被java调用的,使用的技术是JNI,很简单的
java之间当然不存在平台问题
在windows下面c是做成dll来被java调用的,使用的技术是JNI,很简单的
java之间当然不存在平台问题
解决方案 »
- Swing: removeAll()不起作用!求大牛急救~~
- 分享一个dos版的聊天室(目前只支持英文),高手帮忙解决乱码问题
- 我在jdialog下面建立的panel的大小怎么改变呢。。。不能像在jframe下面使用setsize
- Think in Java 中的源码怎么布置?
- 请高手帮忙解决套打问题!
- HttpURLConnection类的getHeaderField的疑问.(自己定位:由Delphi做MIS转向Java做J2ME而散分)
- 关于Object转型的问题
- 怎样用java.util.Properties
- 关于int型数据存储.
- 关于sqlite3加密解密在java中的使用问题
- 为什么父类没有抛出error,而子类可以抛???
- 学J2se用什么软件比较好??指点迷津
不考虑平台问题,所以应该是3个问题:)
用JNI调用本地代码是一个方式,不过我的C和JAVA不需要考虑方法的调用,只需要共享数据,比如 windows 上的共享内存、DDE之类的方法,我希望能用类似的方法在C和JAVA之间交换数据。
------------
共享内存是不可能的,你要知道java是在jvm上运行的,java使用的内存是系统分配给jvm的,c是不可能访问到的。我觉得共享本地数据只能考虑数据库或者文件的形式
因为数据库和文件实际上都已经是把数据写入硬盘,访问也要从硬盘上访问,这样的方式显然比直接在内存中作相应操作效率低得多。而且,如果程序还要求一定的实时性的话,那么读写硬盘的开销就相当惊人了。
另,不知UNIX下是否也有JNI。
不知诸位是否还有更好的方法。
一旦数据库有更新就新建一个临时文件标志一下,C读完数据就删除那个文件
其实这样很麻烦,但是为了语言间的交互没办法
多谢各位的帮助,给分了。
我是JAVA的初学者,今后还要请各位多帮忙,谢谢。