草庐IT

python - 为什么 Windows 上的 Cython 扩展依赖于 pythonXX.dll 而不是 MacOSX?

我在windows和mac上构建了相同的库(下面的例子来自rfoo),而mac版本只有系统依赖$otool-Lmarsh.somarsh.so:/usr/lib/libSystem.B.dylib(compatibilityversion1.0.0,currentversion1213.0.0)在windows上它依赖于python的dll>dumpbin/dependentsmarsh.pydMicrosoft(R)COFF/PEDumperVersion12.00.31101.0Copyright(C)MicrosoftCorporation.Allrightsreserved.D

python - Pyinstaller 缺少 dll,exe 无法运行

我现在正在使用pyinstaller为window10制作一个exe。我最大的问题是我如何能够通过从我的IDE运行程序来完美地运行和工作。但是当我使用pyinstaller时它缺少许多dll并且不起作用?我正在使用代码"Pyinstaller.pyMain.py"也试过--onefile,--windowedoptions..将所有第3方模块导入pyinstaller的正确方法是什么?我正在使用python2.7在Windows1064位上工作。这些是在pyinstaller制作exe时缺少的库:9661警告:找不到库:LIBEAY32.dll10082警告:找不到库:SSLEAY32

windows - 为什么加载 dll 不需要完整的文件路径?在什么情况下此功能会有用?

为什么Windows在调用LoadLibrary时不需要完整的文件路径,或者对于带有已注册DLL的CLSID等。在什么情况下有人会受益于不得不退回到DLL搜索顺序来查找dll?我的意思是,%SystemRoot%或%ProgramFiles%等变量可以将您带到适当的文件夹,而.\会让您留在当前目录中。那么为什么要含糊其词? 最佳答案 对于与GetProcAddress()的显式链接,我认为应该尽可能使用DLL的绝对路径。对于与.lib文件的隐式链接,必须在链接时确定DLL的名称,这排除了绝对路径。最安全的做法是将DLL放在与可执行文

c - Win VS2008 调用约定 : Delphi dll from c

我在C应用程序(VS2008,Win)中调用了一个用Borland中的Delphi编写的dll中的函数。该函数有效,但每次调用后我都会收到此错误:“ESP的值未在函数调用中正确保存[...]”,这意味着我的调用约定是错误的。我不知道Delphi,也没有完整的dll代码,但我相信这是Delphi函数:functiontranslate(file1,file2:PChar):PChar;stdcall;...Result:=PChar(c);end;exportstranslate;c中的相关部分:typedefchar*(__stdcall*translate)(char*,char*)

c# - 我可以将文件放在哪里,以便非管理员可以编辑它们并可供所有用户访问?

我正在开发一个具有静默更新程序的Windows应用程序,因此需要能够覆盖可执行文件。应用程序还加载了一些.dll我尝试将可执行文件和dll放在应用程序数据文件夹中,但visualstudio警告我所有用户都无法访问这些文件。我尝试将可执行文件放在应用程序数据文件夹中,将dll放在程序文件文件夹中,但应用程序崩溃了,因为无法加载dll。我怎样才能A)删除警告或B)以更好的方式组织一切? 最佳答案 系统上没有这样的文件夹。我的一些想法是:使用GAC。据我所知,如果您将二进制文件捆绑为数字签名程序集,GAC将允许静默安装和“升级”。(这里

windows - 我们可以 rebase kernel32.dll 吗?这样两个进程的加载地址是不同的

具体来说,我想知道同一session中的两个进程的kernel32.dll加载地址是否可以不同?我想使用createremote线程,所以只想知道在任何情况下,远程进程中的kernel32加载地址是否可以不同于注入(inject)进程? 最佳答案 Kernel32.dll在所有进程上具有相同的基址,以允许您执行您想要执行的操作。阅读:WhyarecertainDLLsrequiredtobeatthesamebaseaddresssystem-wide? 关于windows-我们可以re

c - 从一个函数传递到另一个函数的值发生变化......无法弄清楚为什么?

我有一个非常奇怪的问题,我无法理解。这是C代码://belowarethevaluesbeingpassed//longnumTreePeriods=80//doublelength=0.23013698630136986TTimeLineInfo*tlInfo=GtoTimeLineInfoNew((long)ceil(numTreePeriods/length),/*ppy*/0L,1,FALSE);现在这里是上面调用的GtoTimeLineInfoNew函数的签名:__declspec(dllexport)TTimeLineInfo*GtoTimeLineInfoNew(long

c++ - 延迟加载 DLL : "Exception 0xC06D007E: Module not found" when application started multiple times

我的应用程序在使用延迟加载DLL时出现间歇性崩溃。我们在几个不同的调用堆栈中看到了崩溃,但在__delayLoadHelper2中引发0xC06D007E:Modulenotfound时它总是崩溃。连续(串联)多次调用流程时引发异常。这是一个示例调用堆栈:KERNELBASE.dll!RaiseException()+0x3dbytesMYDLL.dll!__delayLoadHelper2(constImgDelayDescr*pidd=0x000000000012f650,__int64(void)**ppfnIATEntry=0x000000000012f570)Line331C

windows - 使用 Nuget 包 ServerAppFabric.Client 时系统找不到 Microsoft.ApplicationServer.Caching.Core.resources.dll

我在应用程序中包含了ServerAppFabric.Client.1.0.2912以执行一些基本的缓存诊断。但是,当我尝试使用缓存API时,我得到了这个异常:Caughtunhandledexception:System.TypeInitializationException:Thetypeinitializerfor'Microsoft.ApplicationServer.Caching.ConfigManager'threwanexception.--->System.IO.FileNotFoundException:Couldnotloadfileorassembly'Micro

c++ - 返回对类静态数据成员的引用的正确方法是什么? (我正在使用 Qt,以防它有所作为)

我正在尝试从DLL中获取类静态数据成员的地址,并将其保存在主机代码中。但是,当我退出dll-manager中的方法时,我丢失了对成员的指针/引用,该方法打开了所有(Windowstypedef)HINSTANCEs,即使我让它们保持打开状态.我的设置是:一个QtGUI应用程序,其中包含一个从dll加载插件的类。这个dll-manager类不使用Qt的东西,而是到处使用Qdir和Qstrings...dll-manager应该发出一堆LoadLibrary()调用来打开DLL,并为每个调用一个导出函数,该函数返回DLL导出类中静态“信息”结构的地址。例如,DLL类如下所示:BlackNW