dll在linux
1. linux操作系统下可以用jacob吗,那个jacob.dll怎么处理
不可以,jacob 是在 win32 下用 java 来操作 COM 组件的,在 Linux 下 COM 不可用。
2. JAVA中用JNI调用了在WIN32下编译的DLL,如果在LINUX下执行这个JAVA程序,是否还可以继续调用的DLL。
直接是不行的! linux里面没有dll。
不过看你的需求应该是java调用了其他程序别写的功能,在linux里面肯定可以!Linux也有动态链接库的概念,不过叫Share Object ,你编译一个.so的文件,然后还是使用JNI调用。
参考:
编译so:http://www.cnblogs.com/ardar/articles/357321.html
java调用:http://..com/question/488673981.html
3. windows vs 编译的动态库 能不能在linux 下调用
这个理论上是可以实现的。但是很复杂,通用性不强。
1、windows上的动态库DLL文件是PE格式,而linux上的可执行文件是ELF格式,这两种格式首先不同。
2、但是,你可以在Linux上模拟实现一个PE加载器,然后加载DLL文件,实际上就是在Linux上实现一个PE Loader。 但是,这是一个相当复杂的事情,因为,微软没有公布PE的完全细节,我们现在所有了解的PE结构,那都是非官方公布的!
综上所述,不建议这样操作,但是理论上能实现。
4. linux中.so后缀的文件怎么使用
在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library)。这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部分,而是根据执行程序需要按需装入,同时其执行代码可在多个 执行程序间共享,节省了空间,提高了效率,具备很高的灵活性。同样,LINUX的也具备类似的动态链接库,而且为数不少。在/lib目录下,就有许多以.so作后缀的文件,这就是LINUX系统应用的动态链接库,只不过与WINDOWS叫法不同,它叫so,即Shared Object,共享对象。(在LINUX下,静态函数库是以.a作后缀的) X-WINDOW作为LINUX下的标准图形窗口界面,它本身就采用了很多的动态链接库(在/usr/X11R6/lib目录下),以方便程序间的共享, 节省占用空间。flash只是一个插件,在windows中就是一个ocx的链接库方式(和dll略有不同),因此linux中一旦你了一个共享函数库,你还需要安装它。其实简单的方法就是拷贝
你的库文件到指定的标准的目录(例如/usr/lib),然后运行ldconfig。
如果你没有权限去做这件事情,例如你不能修改/usr/lib目录,那么
你就只好通过修改你的环境变量来实现这些函数库的使用了。首先,
你需要创建这些共享函数库;然后,设置一些必须得符号链接,特别
是从soname到真正的函数库文件的符号链接,简单的方法就是运行ldconfig:
ldconfig -n directory_with_shared_libraries
然后你就可以设置你的LD_LIBRARY_PATH这个环境变量,它是一个以逗号
分隔的路径的集合,这个可以用来指明共享函数库的搜索路径。例如
,使用bash,就可以这样来
启动一个程序my_program:
LD_LIBRARY_PATH=.LD_LIBRARY_PATH my_program