社区
Linux/Unix社区
帖子详情
在linux下怎么去调用dll文件?
t355402
2009-07-31 01:53:20
怎么做linux下写个C程序去调用win32里面的dll文件
...全文
5594
28
打赏
收藏
在linux下怎么去调用dll文件?
怎么做linux下写个C程序去调用win32里面的dll文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
t355402
2009-08-13
打赏
举报
回复
大伙说下哦
t355402
2009-08-11
打赏
举报
回复
哪个告诉我怎么去实现这个功能哦.
BTSC0212
2009-08-05
打赏
举报
回复
恐怕有难度0
t355402
2009-08-05
打赏
举报
回复
pe结构一下子能学会吗?如果可以的话那我去看下,之前我都不知道什么是pe。我这几天天看mplayer的源码,看能在那里面找到有用的东西不?
Angleyuhj
2009-08-05
打赏
举报
回复
linux下面的是SO格式的为动态库。
chenee543216
2009-08-05
打赏
举报
回复
有什么是不能实现的呢?qemu,vmware不都实现了吗?
关键是实现的成本!
Jagen在路上
2009-08-04
打赏
举报
回复
[Quote=引用 12 楼 morris88 的回复:]
引用楼主 t355402 的回复:
怎么做linux下写个C程序去调用win32里面的dll文件
如果不涉及到系统调用,是完全自包含的算法之类的,貌似应该是可以的
可以参考一下几个开源的媒体播放器,他们好像就用了很多 .dll 的解码库
[/Quote]
没错,只要你熟悉PE文件格式,为什么不行呢?
t355402
2009-08-04
打赏
举报
回复
现在要我自己去仿真window API难度太大了,恐怕不行不知道有没有其他的招可行?我现在的意思就是想从mplayer的源码里面找到它们是怎么去实现DLL的调用的。
kdm528
2009-08-04
打赏
举报
回复
WINE就是仿真WIN API
Guilty
2009-08-04
打赏
举报
回复
听说WINE对CPU消耗可怕,所以应该不是我要的。
Guilty
2009-08-04
打赏
举报
回复
我也在考虑这个问题,不过刚勉强会用UBUNTU,可行与否还说不出呢,
不过我绝对不会考虑WINDOWS API, DLL本来就是我自己做的,我已经在裸机没OS的情况调用了成功,里面不含WIN API. 在LINUX里用这个思路的原因只是担心GNU的编译器干不过VC,即使速度差10%也是无法接受的,如果LUNIX编译器速度差不多,就放弃这个想法。
piedgogo
2009-08-03
打赏
举报
回复
同楼上问,为什么涅?
这个事关键
DarkChampion
2009-08-03
打赏
举报
回复
[Quote=引用 15 楼 t355402 的回复:]
windows API模拟层,估计我做不来。
[/Quote]
干嘛要去调windows下的东西呢?
t355402
2009-08-03
打赏
举报
回复
windows API模拟层,估计我做不来。
yasky1001
2009-08-03
打赏
举报
回复
在linux下做一套windows API模拟层
t355402
2009-08-03
打赏
举报
回复
多谢大家都的对我这个问题的关注,我现在下了个powerpc 平台下的mplayer源码包,它那里面就引用了wine里面的库,可我找不到它里面怎么去调用DLL的实现部分。如果大家感兴趣的话,可以一起讨论下,如果我找到了的话我可以拿出来一起分享下,听他们说WINE里面也只能调用部分的DLL文件,不能全部都能调用。
morris88
2009-08-02
打赏
举报
回复
[Quote=引用楼主 t355402 的回复:]
怎么做linux下写个C程序去调用win32里面的dll文件
[/Quote]
如果不涉及到系统调用,是完全自包含的算法之类的,貌似应该是可以的
可以参考一下几个开源的媒体播放器,他们好像就用了很多 .dll 的解码库
unixlinuxsys
2009-08-02
打赏
举报
回复
老win的思维
rainbowbaby
2009-07-31
打赏
举报
回复
有个 mono你可以试试,或者是利用wine来读取,不过不管怎么样都不能直接读取,但是间接的是可以的。大概的就这两种方法,你可以去wine和mono的网站看看。
应该有不少这方面的资料的
yhf365
2009-07-31
打赏
举报
回复
等MSVC支持Linux了,
或许可以调用dll中的函数
加载更多回复(8)
Windows进程常用
DLL
模块注入技术
课程结合多种Windows进程常用
DLL
注入技术。远程线程注入APC注入,异步
调用
过程,向目标线程插入待执行任务从而完成注入。窗口消息注入,指定窗口进程注入,与全局钩子注入类似。环境块注入,获取进程上下文信息,直接性修改程序执行流程完成注入。进程入口点注入,在程序初始化的时机前将
dll
模块
文件
注入至目标主线程。进程调试级注入,涉及调试器相关功能
调用
知识点
dll
模块重定位内存注入,模拟操作系统加载PE
文件
方式,直接将
dll
文件
内存数据写入目标进程并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级
Dll
模块注入技术,内核驱动入门扩展。
linux
下qt
调用
dll
文件
路径,获取
DLL
的
文件
路径以及
调用
DLL
的
文件
路径
如何在
DLL
中,获取
DLL
本身的路径以及
调用
DLL
的
文件
的路径呢?主要通过GetModuleFileName(HMODULEhModule,LPTSTR lpFilename,DWORD nSize)函数来获取,根据hModule参数来辨别是
DLL
本身还是
DLL
的
调用
者。当hModule 为NULL时候 获取到路径为
调用
者,当hModule为main入口的BOOL APIENTRY
Dll
Main...
linux
有
dll
文件
吗,
linux
上可以运行
dll
吗
好像win下只能
调用
dll
,既然你是用c/c++开发的库,那就应该尽可能的使用跨平台的api,win下发布为
dll
,
linux
下发布为so。就像汽车靠轮子走,轮船靠螺旋桨走是一个道理,虽然都是发动机带动。so是
linux
下编译的库
文件
而
dll
是win平台的是不是win上面安装了EcgAnalysis,
linux
上面没有安装EcgAnalysis类?你可以去看一些跨平台的解决方案,例如Eclipse...
linux
上可以运行
dll
吗
好像win下只能
调用
dll
,既然你是用c/c++开发的库,那就应该尽可能的使用跨平台的api,win下发布为
dll
,
linux
下发布为so。就像汽车靠轮子走,轮船靠螺旋桨走是一个道理,虽然都是发动机带动。so是
linux
下编译的库
文件
而
dll
是win平台的。
dll
和so分别是windows和
linux
下定义的代码库的标准,
文件
的格式是windows和
linux
自己定义的,肯定是不兼容的,因此无法实现一个版本多个平台通吃的。 可以去看一些跨平台的解决方案,例如Eclipse中的插件,需要
调用
dll
/so,它
linux
java
调用
dll
_Java如何
调用
C++编写的
dll
(动态连接库)
JNI的简单使用以一个最简单的HelloWorld程序来介绍一下JNI的最基本的使用方法:1)首先要有一个HelloWorld.Java。这个是主
文件
,里面包括本地方法的java声明,一个main函数,还有一个静态代码段,用来导入所需要的动态连接库(在Wndows里是.
dll
)。代码如下://HelloWorld.javaclass HelloWorld {public native void d...
Linux/Unix社区
23,129
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章