从exe文件创建的Windows进程可以访问调用它的命令字符串,包括其文件的路径和文件名。例如。C:\MyApp\MyApp.exe--help。但对于通过LoadLibrary调用的dll则不是这样。有谁知道通过dll加载的函数找出其路径和文件名的方法吗?具体来说,我对Delphi解决方案很感兴趣,但我怀疑答案对于任何语言都几乎相同。 最佳答案 我认为您正在寻找GetModuleFileName。http://www.swissdelphicenter.ch/torry/showcode.php?id=143:{Ifyouarew
我想知道dll和exe文件的确切区别。 最佳答案 我不知道为什么每个人都在.NET的背景下回答这个问题。这个问题很笼统,没有在任何地方提到.NET。嗯,主要区别是:执行exe始终在其自己的地址空间中运行,即,它是一个单独的进程。EXE的目的是启动自己的独立应用程序。动态链接库dll总是需要一个主机exe才能运行。即,它永远不能在自己的地址空间中运行。DLL的目的是拥有一组可以从其他应用程序中重复使用的方法/类。DLL是Microsoft的共享库实现。DLL和exe的文件格式本质上是一样的。Windows通过文件中的PEHeader来
作为构建过程的一部分,我需要为所有已编译的二进制文件设置版本信息。有些二进制文件已经有版本信息(在编译时添加),有些则没有。我希望能够应用以下信息:公司名称版权声明产品名称产品描述文件版本产品版本所有这些属性都由构建脚本指定,并且必须在编译后应用。这些是使用C++Builder2007编译的标准二进制文件(不是程序集)。我该怎么做? 最佳答案 虽然这不是批处理过程,但VisualStudio也可以添加/编辑文件资源。只需在.EXE或.DLL上使用"file"->“打开”->"file"。这对于在构建后修复版本信息或将其添加到没有这些
我有一个DLL文件。如何查看该DLL中的函数? 最佳答案 对于native代码,最好使用DependencyWalker.也可以使用dumpbinVisualStudio附带的命令行实用程序。 关于windows-如何查看DLL函数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4438900/
有时,当我在做一个小项目时,我不够小心,不小心添加了一个我不知道的DLL的依赖项。当我将此程序发送给friend或其他人时,“它不起作用”,因为“某些DLL”丢失了。这当然是因为程序可以在我的系统上找到DLL,但在他们的系统上找不到。有没有一种方法可以扫描可执行文件的DLL依赖项或在“干净”的无DLL环境中执行程序进行测试以防止出现这些oops情况? 最佳答案 VisualStudio工具(VC\bin文件夹)中的dumpbin可以提供帮助:dumpbin/dependentsyour_dll_file.dll
DLL文件究竟是如何工作的?它们似乎有很多,但我不知道它们是什么或它们是如何工作的。那么,他们之间有什么关系呢? 最佳答案 什么是DLL?动态链接库(DLL)类似于EXE,但它们不能直接执行。它们类似于Linux/Unix中的.so文件。也就是说,DLL是MS对共享库的实现。DLL非常像EXE,文件格式本身也是一样的。EXE和DLL都基于可移植可执行(PE)文件格式。DLL还可以包含COM组件和.NET库。DLL包含什么?DLL包含EXE或其他DLL使用的函数、类、变量、UI和资源(例如图标、图像、文件...)。库类型:几乎在所有操
这个问题在这里已经有了答案:HowcanIdetermineforwhichplatformanexecutableiscompiled?(12个答案)关闭9年前。社区在11个月前审查了是否重新打开此问题,然后将其关闭:原始关闭原因未解决我想编写一个测试脚本或程序来断言给定目录中的所有DLL文件都属于特定的构建类型。我会在SDK的构建过程结束时将其用作完整性检查,以确保64位版本没有以某种方式在其中包含一些32位DLL文件,反之亦然。有没有一种简单的方法来查看DLL文件并确定其类型?该解决方案应该适用于xp32和xp64。
我的可执行文件有问题。我在我的Windows764位开发盒上运行这个C++32位可执行文件,该开发盒也有所有这些Microsoft应用程序(VisualStudio2008+2010、TFS、SDK、MicrosoftOffice)...而且它仍然运行良好。现在,我得到了完全相同程序的客户端安装,并被要求使用干净的Windows7安装对其进行测试。因此,我得到了一个Windows764位VMware并将其更新为Windows7SP1(与我的开发者盒子正在调整的版本完全相同)。但是,虽然在我的开发者盒子上一切正常,但该程序不适用于VMware(30天试用)盒子。x86Dependency
我是redis的新手,我想知道是否可以在PHP5.3WAMP上使用php_redis.dll?我想通过使用我在redis上的redis实例来开发一个站点,只使用redis扩展。我已经加载了php_redis.dll—phpredis2.1.3(PHP5.3.6,win32,...它确实在加载或检查的wampPHP扩展中显示,但我仍然遗漏了一些东西,因为我仍然在下面遇到这个错误:Fatalerror:Class'Redis'notfoundinC:\wamp\www\api.twitterapp.com\1redistest.phponline7 最佳答案
我正在制作一个使用RoR和mysql的应用程序。我按照以下步骤使用mysql制作应用程序。1-railsnewprojectname-dmysql2-rails生成脚手架帖子标题:字符串正文:文本运行第2步后出现以下错误。错误:Failedtoloadlibmysql.dllfromC:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3.18-x86-mingw32\vendor\libmysql.dll我已经在我的系统中安装了mysql并将libmysql.dll文件从mysql-connector-c-noinstall-6.0.2-win32