موس*_*اور 2 c java dll android android-ndk
甚至可以在ndk-build命令中链接/包含一个dll文件,并生成一个可以从android java代码访问dll函数的共享库.
我一直在尝试这样做,我尝试使用SWIG创建一个java包装器代码到dll而我没有成功,然后我开始认为它甚至可能!
谢谢.
不.不是没有构建整个Windows兼容性层.Android与开箱即用的Windows不兼容.
此外,Windows DLL往往是针对Intel x86 CPU编译的,而大多数Android设备都有ARM CPU.虽然存在Windows for ARM(Windows Phone,Windows RT等),但Android上不存在DLL应该存在的环境.
不可以.Windows DLL的格式与Android和Linux不同.
Windows使用称为PE COFF的格式:"可移植可执行文件,通用对象文件格式".虽然COFF本身来自UNIX,但微软有自己的版本.存在进一步的不兼容性以支持.Net对象.大多数UNIX和Linux使用ELF - 执行和链接格式.
即使它们是奇迹般地使用相同的格式,它仍然可能无法工作,因为机器架构必须是相同的,例如ARM(以及ARM的几种配置)或Intel x86.
而且还有更多.即使你设法让DLL运行,它还有什么用?DLL通常具有其他外部依赖项,例如C运行时库,MSVCRT或kernel.dll
.
那么,获取源代码并原生重新编译它?这可能有用,但Windows DLL有时会有一个可选的DLLMain()
入口点,Linux .so
文件没有直接的等价物.那剩下的代码怎么样?它是以便携方式编写的吗?它是否始终坚持使用ISO语言标准?要真正可移植,必须以这种方式设计和编写代码.
归档时间: |
|
查看次数: |
2468 次 |
最近记录: |