Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
能否访问在c+;中创建的指针+;,在爪哇 是否可以访问在C++中用java创建的指针?就像我做一个字符串,并为C++中的变量(给变量提供内存位置)指针,java中有一些命令让我拿那个指针并查看它吗?或者我必须将字符串输出到文件,然后执行java文件I/O。_Java_C++_Memory_File Io - Fatal编程技术网

能否访问在c+;中创建的指针+;,在爪哇 是否可以访问在C++中用java创建的指针?就像我做一个字符串,并为C++中的变量(给变量提供内存位置)指针,java中有一些命令让我拿那个指针并查看它吗?或者我必须将字符串输出到文件,然后执行java文件I/O。

能否访问在c+;中创建的指针+;,在爪哇 是否可以访问在C++中用java创建的指针?就像我做一个字符串,并为C++中的变量(给变量提供内存位置)指针,java中有一些命令让我拿那个指针并查看它吗?或者我必须将字符串输出到文件,然后执行java文件I/O。,java,c++,memory,file-io,Java,C++,Memory,File Io,您应该能够使用JNI: 您也可以尝试使用SWIG: 但在你投入之前,你应该评估一下你是否真的需要这样做。你只是想分享数据吗?你可以利用网络来做到这一点。在两个程序之间传递tcp消息。共享数据有很多选择。您必须将其转换为java通过JNI理解的内容--JNI将有一种方法将指针转换为字符串,但java将复制内存并从中创建一个常规java字符串--将内存交给java后更改内存不会更改java字符串 我认为即使是JNI也不允许通过直接内存访问进行通信,但我可能错了,我最近没有看过它。我相信你可以得到它的

您应该能够使用JNI: 您也可以尝试使用SWIG:


但在你投入之前,你应该评估一下你是否真的需要这样做。你只是想分享数据吗?你可以利用网络来做到这一点。在两个程序之间传递tcp消息。共享数据有很多选择。

您必须将其转换为java通过JNI理解的内容--JNI将有一种方法将指针转换为字符串,但java将复制内存并从中创建一个常规java字符串--将内存交给java后更改内存不会更改java字符串


我认为即使是JNI也不允许通过直接内存访问进行通信,但我可能错了,我最近没有看过它。

我相信你可以得到它的价值,虽然我怀疑你能做很多事情。添加网络通信只在java和C++代码之间共享数据可能不必要的复杂。@ AndyThomas Cramer我不知道海报到底是想完成什么。我只是鼓励他探索他的最佳方案。是的,我只是尝试在程序之间交换数据,但是只在C++中通过文件I/O完成了这件事。我应该这样做吗?输出数据,然后在java中读取数据?如果您只想将一个程序的输出转换成另一个程序,那么使用文件I/O是可以的,尽管很笨拙。更高级的技术是在写入数据时读取数据,请参阅:另一种方法是JNA,它可以更简单地使用。