当前位置:  技术问答>linux和unix

Windows下用C++写的dll如何才能被Linux下的Java调用?

    来源: 互联网  发布时间:2016-01-16

    本文导语:  一个涉及到双方合作共同开发的项目里遇到了这个问题:对方(服务器端)用的是Linux平台,而我(客户端)用的则是Windows平台。有一部分对数据的验证处理,因为涉及到商业上的机密,所以算法不能向对方公开,只...

一个涉及到双方合作共同开发的项目里遇到了这个问题:对方(服务器端)用的是Linux平台,而我(客户端)用的则是Windows平台。有一部分对数据的验证处理,因为涉及到商业上的机密,所以算法不能向对方公开,只好由对方来调用我方提供的现成东东。因为以前从未做过Linux下的开发工作,心里没底,有几个问题想请教一下大家:
1. 上面说的这种情况,是不是只能由对方来调用我方提供的动态链接库(dll)?还有没有其它更好的解决方式?
2. 用C++标准语言函数(工具VC++ 6.0,不调用任何Win API和MFC)编写的dll是否就能够在Linux下直接被Java所调用(估计是不行:-()?还是必须借助Crywin之类的工具才可以?大家在Linux下做C/C++开发一般用什么工具?
3. 编写跨平台的dll应该注意哪些问题?在Windows和Linux下开发有没有什么大的差异?

|
找到一篇文章,可能对这个主题有帮助
http://www.linuxbyte.net/view.php?skin=art&ID=3650

|
你如果有源程序,你可以提供头文件和编译后资源,这样他就可以链接到具体的应用程序中了,而你也可以保护你的实现。
不过在Linux下的动态库不是DLL你其实只需要把你的提供支持的接口函数进行重新封装和编译(如果算法中用到平台相关的部分可能也要重写)。
当然,在Linux中也是可以调用部分DLL的,但这些DLL的运行不能有系统相关的部分(起码调用模块不能是系统相关的——比如还要调用系统库什么的),你需要自己构造调用机制了,这方面也是有实例的,比如Mplayer项目中很多解码器支持都是通过调用DLL来实现的。
还有一个比较特舒的方法,就是在Linux下采用windows仿真环境来调用DLL,这个也有很多技术方案了。

|
跨平台的程序没那么好弄的,当然用纯java或wxwindows是不错的选择,但这些似乎与某个叫做dll的动态连接库没什么关系。其实你的问题根本就不牵涉到跨平台的问题,你只是需要一对服务端——客户端程序,至于服务端程序和客户端程序是否是同一平台的根本无所谓,否则我们的网页浏览器不都成了跨平台产品了?

|
不管是用什么语言写的DLL,标准C++也好,
但DLL本身与操作系统的规则有关吧?
比如win下的DLL的入口函数为:DLLMain,而Linux下不是这样的吧。
标准C++与平台无关,但其生成的二进制代码还是不能在两个平台下跑的吧,
也不是太懂,只是觉得不可能!

    
 
 

您可能感兴趣的文章:

  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • unix下的C++程序转换为可以在windows下的C++
  • 几个windows平台C++开发错误举例
  • linux下運行windows下寫的c++程式和它引用的dll
  • 最新Windows下c++读写锁SRWLock介绍
  • 有那个windows 下的c++ compiler带有性能分析的工具?就是像gnu 的gprof那样的工具.
  • Windows和Linux下C++类成员方法作为线程函数方法介绍
  • 新手请教:请问如何将以前Windows平台下的c++工程改造到linux系统平台下
  • windows平台 vs2008进行c++编码的相关设置介绍
  • 准备从Windows转向Linux的软件开发,语言为C++,怎么入门?
  • Windows C/ C++堆相关问题及解决思路
  • 像 DeleteFile之类windows的API函数,能在linux下编译的c++程序中用么? 不能的话用什么代替?
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • *sos*求unix或者liunx下mysql与c,c++的编程质料,能在windows下用的gcc!
  • 各位师兄,请问如何从Windows下的VC++转干Linux 下的C++?
  • windows 和linux 之间的文本文件转换 c和c++文件 批量转换
  • 高分求Source Insight 3.0以上版本的中文帮助或说明!另:能不能在Windows下直接使用SI编译C++工程?如能,该怎么做?谢谢!
  • 同一段C++在Linux和windows下编译后的可执行文件有什么不同?
  • 一个windows下的C++工程,在linux下编译出错了
  • 上司给我一个linux的c++工程,习惯于windows的vc的我不知道如何找到入口。帮忙啊
  • C++ 学习之旅 Windows程序内部运行原理
  • AIX 5.3下调用windows 2000上的exe程序,且AIX下需要得到windows下程序执行的返回结果
  • python调用windows api锁定计算机示例
  • Windows API 调用监视工具 API Monitor
  • JAVA虚拟机是不是也要调用Windows的API?
  • 我想在java里调用windows API,应该怎么做
  • 关于 windows调用rsh问题~~~~~
  • 如何在java中调用windows自带的程序?
  • java中如何调用windows的dll?
  • cygwin dll windows下调用
  • 如何在JSP中调用windows的print()?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我有一块曾装过linux的硬盘,如果想用于windows今后,我怎样才能把它的分区都变回windows的分区?
  • 刚装上linux,我怎样才能看到windows(FAT32)下的文件?
  • 我怎么才能实现用windows读取linux下的usb盘符中的资料?
  • 怎样才能在Windows2000下安装Linix?
  • Windows xp下如何才能访问安装在虚拟机上LINUX的文件目录信息
  • 在Windows2000下把Linux分区给格式化为NTFS后,怎样才能删除引导区?
  • 安装ubuntu时看到的windows分区是什么样,特别是NTFS的,怎么才能知道那个是windows里的c:盘?
  • 怎样才能让Windows下的Qt程序在后台运行?
  • 如何才能像ghost windows那样ghost linux?用什么软件呢?
  • windows上要装什么软件才能管理到linux上的oracle?
  • 我在WINDOWS下下载LINUX软件,到LINUX下怎么才能用?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • windows操作系统做服务器,客户端是unix操作系统,如何配置unix才能上网
  • 我在windows2k下安装linux怎么启动一定要用软件盘才能启动?
  • 如何给linux服务器的用户设置权限才能在windows中访问linux下的文件?
  • ??请问在windows下怎样配置sh的configure文件 许多开放源码项目在编译前都要配置configure才能编译. 可...
  • 怎么样才能使我新装的LINUX机器在局域网内和其他的WINDOWS系统互相访问,很急!请帮忙!
  • 100分每次要先进WINDOWS到登录界面,然后才能进linux.这是那儿坏了,该怎么办?
  • 重装 Windows 以后,怎么才能让 Linux 引导系统?
  • redhat9.0下要开哪些服务,才能让同一局域网的电脑(windows)能通过IP地址,访问其共享文件夹?
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • 博客 iis7站长之家
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • 装了Linux和Windows,怎样默认进入Windows
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • Docker宣布支持Windows 10和Azure Windows Server


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3