草庐IT

dll电脑修复

全部标签

c++ - 构建一个不依赖 dll 的 C++ 二进制文件

我写了一些C++代码。我把它发给了我的friend,他不是开发人员。在Windows7上,他收到错误消息“程序无法启动,因为缺少msvcr120.dll”如何构建它才能运行?我是否需要使用MSVC2008进行编译?2005?我希望它能在vista+上运行 最佳答案 我认为您可以使用/MT代替/MD静态链接运行时库参见http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx右键单击您的项目->属性->C/C++->代码生成->将“运行时库”设置为“/MTd”用于调试,“/MT”用于发布

c++ - 在运行时在 v110 可执行文件中使用 v90 COM dll 是否安全?

在使用v110编译器构建的可执行文件中使用使用v90编译器构建的COMdll是否安全?可执行文件在运行时通过COM接口(interface)使用v90dll(它不是#imported)。可执行文件是根据dll的tlb构建的。两者都静态链接到MFC,并且都使用/MT版本的运行时库。我的理解是这是可能的,但并不安全。由于存在使用注意事项(即内存分配不同,因此不能在dll中分配对象并在可执行文件中删除对象,因为这会导致意外行为)。有人可以为我澄清一下吗? 最佳答案 是的,它是安全的。前提是您遵守COM规则。COM规则是ABI1规则,包括与

c - 是否可以通过编程关闭电脑风扇+处理器风扇?

我正在尝试观察软件今天是否会损坏硬件。为此,我选择关闭电脑风扇是个好主意(否则我宁愿让硬盘崩溃)。我需要知道以下内容:是否可以在任何人的计算机上执行此操作?这会对硬件造成危险吗?选择C​​是一个不错的选择,还是我应该选择汇编语言?提前致谢。 最佳答案 首先,风扇旋转是有原因的:复杂的电子设备会很快过热。查看执行此操作的专用工具会更容易,例如适用于Windows的SpeedFan。另一方面,如果您真的想这样做,有很多方法-但是,它们大多是特定于供应商和产品的。对于Linux上的Acer笔记本电脑,请参见例如this-请注意,它是非常底

c - 访问dll中的全局变量

如何在dll中访问在我的应用程序的main()函数中初始化的全局变量?我的全局变量包含一个关键部分对象,我需要将其锁定在一个dll中。我已经尝试在我的应用程序中导出它并使用它在dll中导入__declspec(dllexport)和__declspec(dllimport)但是当我尝试锁定关键部分时,我得到一个运行异常,这让我认为我的dll访问的变量没有正确初始化。dll在运行时使用LoadLibrary加载。如有任何提示,我们将不胜感激。 最佳答案 通常从应用程序访问DLL中的变量,但看起来您正试图以相反的方式进行访问。而且您从应

c++ - 将 DLL 作为 exe 启动

是否可以将native(C++)DLL作为可执行文件加载?最好直接从内存中提取,而不在硬盘驱动器或类似的东西上创建EXE? 最佳答案 Microsoft提供Rundll32.exe可用于执行已明确编码以支持此用法的DLL函数。 关于c++-将DLL作为exe启动,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9039895/

c# - Windows 7 Message Box 的图标存储在哪里 [.DLL]

有谁知道Windows中的MessageBox符号存储在哪里(错误图标、感叹号图标...)。我认为它们在.dll文件中! 最佳答案 使用System.Drawing.SystemIconsclass访问Windows中使用的常用图标。它包括MessageBox中使用的图标。从技术上讲,您可以在VisualStudio中使用文件+打开+文件并导航到c:\windows\system32\user32.dll来获取这些图标。然而,这是不合法的。也不能保证它们在更高版本的Windows上看起来相同,它们可能不会。请改用SystemIcon

c++ - 是否可以修复 Windows 头文件(winnt.h、windefs.h)以便它们可以用/Za 编译?

我正在为多个平台(Windows、Linux、MacOSX)开发应用程序,我想确保我的代码符合ISOC++标准。在Linux和Mac上,它是通过-pedantic-errors标志实现的,在Windows上是通过/Za标志(禁用语言扩展)实现的。问题是,某些Windowsheader不符合C++(并且以一种愚蠢的方式,没有什么大不了的-大多数错误是'$':unexpectedinmacrodefinition,'__forceinline'notpermittedon数据声明和类似的废话)。您认为可以修复header吗?有人试过吗? 最佳答案

windows - 如何在 Delphi 的多线程中加载一个 DLL?

也许我错过了什么,我不知道这里发生了什么。我正在尝试在TThread对象的多个实例中加载同一个DLL。这是我的DLL代码:libraryMyCalcFor32;usesSysUtils,Classes,uRunnerin'uRunner.pas';ExportsEVal;{$R*.res}beginend.这是uRunner.pas:unituRunner;interfaceusesSysUtils,Classes;functionEVal(Valor:WideString):WideString;stdcall;export;implementationfunctionEVal(Va

c++ - 丢失 DLL 的一般方法

我想每个人都时不时遇到丢失dll的问题。我想要获得的是查找和安装dll的“推荐”方法。使用depends.exe很容易找出缺少的dll。 最佳答案 不要再使用depends.exe,它跟不上Windows核心和并行缓存等部署策略的发展。试图修复它给出的警告实际上会使您的机器变得非常糟糕。仅在程序实际无法启动时将其用作提示。 关于c++-丢失DLL的一般方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

c++ - 从 C++ 类制作 Visual C++ DLL

我有以下C++代码来制作dll(VisualStudio2010)。classShape{public:Shape(){nshapes++;}virtual~Shape(){nshapes--;};doublex,y;voidmove(doubledx,doubledy);virtualdoublearea(void)=0;virtualdoubleperimeter(void)=0;staticintnshapes;};class__declspec(dllexport)Circle:publicShape{private:doubleradius;public:Circle(dou