扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用java是可以写语言编译器的,用任何语言工具写都可以。 各语言开发工具间只有开发效率的差异,没有可行不可行的区别。
创新互联主营图们网站建设的网络公司,主营网站建设方案,app软件开发公司,图们h5小程序开发搭建,图们网站营销推广欢迎图们等地区企业咨询
明确的告诉你,是可以的,但是一般没人这样做。C语言的优点是灵活,功能强大,一般适合做底层开发,如操作系统、嵌入式等。java的特点则是面向对象、安全、跨平台等。
如果算法描述已经很彻底了,只要补充变量定义,等语言细节就可以,把算法描述转化为各种编程语言了。如果只是泛泛而论,自己去把算法转换成伪代码描述,或者流程图之类的,然后再用C语言实现。
这个是可以的,因为有混合编程这个概念的,两者只要环境在就可以了,程序就是为实现功能的。
Java 和 c语言都是图灵完备的,也就是理论上它们的计算能力都上一样的,java能做到的c语言当然可以,反之亦然。
你可以用delphi来和设备通讯(一般是COM口),用JNI传递结果给java,或者用数据库做中介也可以。
不太明白你的意思,是不是在Java里面调用C++写的DLL? 如果那个DLL不是专门为Java调用而编写的话,就需要用JNI再写一个DLL,在那里面调用你原有的DLL。
用java的jni,java本地接口技术。刚好偶也在找找方面的东西。
……别,C++那个结构体中string都出来了。基本上是不用指望其他语言可以调用了。
如果有一个现有的 .dll/.so 文件,如果使用 JNI 技术调用,首先需要另外使用 C 语言写一个 .dll/.so 共享库,使用 SUN 规定的数据结构替代 C 语言的数据结构,调用已有的 dll/so 中公布的函数。
1、第三步:编写C/C++本地代码,生成动态链接库文件 首先在VC0(当然也可以用其他工具)中创建一个dll工程---Win32 Dynamic-Link Library工程。
2、java数组传递给jni实际是指针,只是java禁止你直接在jni里对java数组操作,所以在jni需要对java数组转换为jni里可以操作的数组。典型的还有字符串,c struct等。之所以禁止jni直接操作数组可能是jvm在安全等方面的考虑。
3、因为使用gcc编译得到动态库,在jni调用的时候,某些情况会有异常, 可尝试改用g++。
4、再把库文件拷贝到JAVA程序的路径下面,就可以用JAVA调用C/C++所实现的功能了。接上例子。
5、首先创建Java文件 HelloJni.java ,并创建native方法。编译Java文件并生成java头文件。创建C语言文件,HelloWorld.c。生成动态链接库文件 libhello.so。设置动态链接库文件的目录。
6、Java 与 C 通信只用几种基本的类型,这个清单在 jni.h 中有。 你没有理由把C++ 的“对象”传递给 Java,这是设计错误,传递的东西应该仅限于“数据”。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流