草庐IT

AppInit_DLL

全部标签

java - Linux 系统上的 Windows DLL

我想知道您是否可以在应用程序(使用任何编程语言)中加载Windows操作系统的DLL(例如,user32.dll)Linux操作系统。DLL将位于Linux文件系统的目录中。感谢您的帮助。您好! 最佳答案 是的,您可以加载一个DLL并使用适当的包装器库调用它的函数,但如果DLL本身对不存在的平台有依赖性,那从根本上说是没有用的。这种方法用于闭源视频编解码器之类的东西,其中不存在(非平凡的)依赖项。User32.dll当然是操作系统的一部分,并且与许多NT内核函数有着内在的联系,而这些函数在Linux中都不存在。Wine不使用Wind

windows - 用于检查 Windows DLL 的 Linux 工具

我必须调试WindowsDLL的问题,但我只运行Linux,所以我想知道是否有(最好是命令行)工具来检查Linux下的WindowsDLL。我正在寻找的主要是导出符号的列表。 最佳答案 使用“winedump-jexportfile.dll”winedump是Wine的一部分首页:https://www.winehq.org/docs/winedump 关于windows-用于检查WindowsDLL的Linux工具,我们在StackOverflow上找到一个类似的问题:

python - 如何在 Linux 上从 python 调用 Wine dll?

我正在Linux中编写一个python脚本,并且需要调用一些在Wine中可用的Windows函数。具体来说,AllocateAndInitializeSid和LookupAccountSidW,以确定谁登录了远程Windows计算机。这些功能是advapi32.dllinWine的一部分(编辑:使用答案,我能够调用该函数,但LookupAccountSidW只能在本地计算机上运行)。我如何访问这些函数,或者一般的Winedll?我试过了>>>cdll.LoadLibrary("~/.wine/drive_c/windows/system32/advapi32.dll")但它会导致错误:

c++ - 多次加载 DLL?

我正在使用LoadLibrary在Windows中加载DLL的函数。我的问题是:如果我为同一个DLL多次调用此方法,我会获得DLL不同实例的句柄,还是它们都引用同一个实例?此外,此行为与LinuxSO文件有何关联,是相同还是完全不同,在这方面我可以做出哪些假设?谢谢。 最佳答案 MSDN文档指出:Thesystemmaintainsaper-processreferencecountonallloadedmodules.CallingLoadLibraryincrementsthereferencecount.CallingtheF

c++ - 如何使用导出函数交叉编译 DLL

我正在完成DLL劫持练习,并编写了一个DLL,它在VisualStudio中编译时按预期工作。本质上,当加载DLL时,它会执行shell命令并将合法功能(在本例中为CheckEvenOdd和PrintAMessage函数)传递给最初预期的DLL(在这个例子,GetEvenOdd.dll)。工作代码如下;#include"stdafx.h"#include#pragmacomment(linker,"/export:CheckEvenOdd=GetEvenOdd.dll.original.CheckEvenOdd")#pragmacomment(linker,"/export:Print

linux - 可以在 Linux 上使用 .dll

这个问题在这里已经有了答案:UsingWindowsDLLfromLinux(7个答案)关闭2年前。问题:是否可以使用.dll文件在linux上编译程序?这是怎么回事:此.dll将用于为第三方的某些专有软件编写php扩展。背景与研究:我得到了一个名为proprietary.lib的库。我很好奇,因为我以前从未见过.lib扩展名,所以我输入:fileproprietary.lib输出是:proprietary.lib:currentararchive我做了一些研究,发现ar或多或少是tar(事实上,我猜tar已经被替换了ar在大多数*nix环境中)。在检查ar联机帮助页时,我看到了t选项

windows - 从架构上讲,共享对象 (SO) 和动态链接库 (DLL) 之间有什么区别?

标题中的问题差不多:就操作系统级实现而言,共享对象和dll有何不同?我问这个的原因是因为我最近阅读了thispage关于扩展Python,其中指出:UnixandWindowsusecompletelydifferentparadigmsforrun-timeloadingofcode.Beforeyoutrytobuildamodulethatcanbedynamicallyloaded,beawareofhowyoursystemworks.InUnix,asharedobject(.so)filecontainscodetobeusedbytheprogram,andalsoth

dll - 从 Linux 使用 Windows DLL

我们需要连接到第3方应用程序,但该应用程序背后的公司没有公开消息协议(protocol),只提供了要连接的WindowsDLL。我们的应用程序是基于Linux的,所以我不能直接与DLL通信。我找不到任何现有的解决方案,所以我正在考虑在Linux和Windows之间编写基于套接字的桥接器,但我确信这不是一个独特的问题,之前应该有人做过。您是否知道任何允许从Linux上的C应用程序调用WindowsDDL函数的解决方案?它可以使用Wine或单独的WindowsPC-没关系。非常感谢。 最佳答案 我编写了一个小型Python模块,用于从L

linux - (静态链接的)DLL 使用与主程序不同的堆吗?

我是Windows编程的新手,我刚刚“浪费”了两个小时来寻找一个每个人似乎都知道的错误:你不能在DLL中的堆上创建对象并在另一个DLL中销毁它(或在主程序)。我几乎可以肯定在Linux/Unix上情况并非如此(如果是,请说出来,但我很确定我这样做了数千次都没有问题...)。此时我有几个问题:1)静态链接的DLL是否使用与主程序不同的堆?2)静态链接的DLL是否映射到主程序的同一个进程空间?(我很确定这里的答案是肯定的,否则将指针从主程序中的函数传递到DLL中的函数是没有意义的)。我说的是普通/常规DLL,而不是COM/ATL服务编辑:“静态链接”是指我不使用LoadLibrary加载D

php - php_memcached.dll 现在在哪里可用?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describetheproblem以及到目前为止为解决这个问题所做的工作。关闭8年前。Improvethisquestion找了几个小时只找到php_memcache.dll,找不到php_memcached.dll... 最佳答案 你可以试试这个:memcached-clientfromhttps: