在C++/QT中尝试访问应用程序中的API DLL函数时出现链接器崩溃错误
在我的 C++/QT 应用程序中尝试访问 DLL 函数时. 例如 result = CAN_Initialize(PCAN_USBBUS1, PCAN_BAUD_250K); 它给了我错误 程序意外结束. C:\myDevelopment\build-PcanPortLinker-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\PcanPortLinker.exe 崩溃 编译输出中的以下警告 警告:通过链接到 _CAN_Initialize 来解析 _CAN_Initialize@20使用 --enable-stdcall-fixup 禁用这些警告 使用 --disable-stdcall-fixup 禁用这些修复 警告:通过链接到 _CAN_GetErrorText 解决 _CAN_GetErrorText@12 解决方案 请不要多次转发同一个问题.我已经在 linker crash in C++/回答了这个问题QTwh
426 2022-07-19
编程技术问答社区
C++/QT访问DLL文件时链接器崩溃
你好, 我正在尝试从 DLL 文件访问我的 API 函数.但收到此错误 “程序意外结束." C:\MyDevelopment\build-PcanPortLinker-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\PcanPortLinker.exe 崩溃 我的 DLL 文件配置如下. LIBS += "C:/MyDevelopment/PcanLinker/build-PcanPortLinker-Desktop_Qt_5_5_0_MinGW_32bit-Debug/debug/PCANBasic.dll" 任何帮助/建议/经验分享将不胜感激. 谢谢 解决方案 要真正看到发生了什么,你需要在调试器下运行你的程序,当异常发生时,捕获它,并在此处发布调试器信息. 即异常类型、堆栈跟踪、发生错误的源代码等. 那么,我们也许可以查明您的问题 gwk
164 2022-07-19
编程技术问答社区
在共享库中分配给外部
我正在构建一个用户定义的外壳,用户可以在其中动态地将新插件加载到外壳中. 在我的一些共享库中,我使用关键字 extern 来引用全局变量,例如下面的插件 extern char *prompt; int setprompt(char *argv[]) { prompt = argv[1]; return 0; } 只是,当我执行我的 shell 程序(链接这个库)时,我得到了错误 ./setprompt.so: undefined symbol: prompt 为什么我不能给全局变量赋值? 这是来自 shell 代码的代码,其中包含提示的定义 char *builtin_functions[64] = { "comment", "setprompt", "cd", "bgjobs", "fg", "loadpluggin", "culater" }; char *prompt = "upsh"; void *pointers_to_functi
150 2022-07-19
编程技术问答社区
是否可以在没有LIB文件的情况下使用DLL文件?
大家好 我正在尝试使用名为 mp4core.dll 的 DLL 文件将图像流编码为视频 但我没有这个 DLL 的库 我也尝试打开这个 DLL 并查看它的函数,我做到了,但它没有告诉我任何关于这些函数中使用的参数或如何使用它们的信息 我在网上找到了类似的功能 xvid_encoder(void* handle, int opt, void* param1, void* param2); 但我不知道如何使用它或从哪里获取这些参数 知道我得到的只是保存到 txt 文件的 LPBYTE 原始图像数据. 我还在网上找了一个 XVID 类,现在也不知道如何获取参数 void init_encoder(uint32_t cpu_flags);int enc_create(xvid_enc_create_t * create);int enc_destroy(Encoder * pEnc);int enc_encode(Encoder * pEnc,xvid_enc_fra
160 2022-07-19
编程技术问答社区
同一个文件用于在一个解决方案下的两个项目中构建DLL
我有一个特殊的类,我希望在同一解决方案下的两个 DLL 项目之间共享它. 目前,我将文件复制到两个项目文件夹中,并同时包含 #pragma once 和 #ifndef 保护. 我想知道是否有更好的解决方案. 两个代码的唯一区别是它们都为 _declspec(dllexport) 使用不同的#define. 只是为了让您大致了解两者的外观: #pragma once#ifndef ITEM_H类 CItem{公开:DLL1_API CItem(void);DLL1_API ~CItem(void);DLL1_API int getValue(void) const;DLL1_API void setValue(int value);/*具有相似签名的其余方法.*/} #pragma once#ifndef ITEM_Hclass CItem{公开:DLL2_API CItem(void);DLL2_API ~CItem(void);DLL2_API int
184 2022-07-19
编程技术问答社区
如何使用接口从dll内的方法调用和检索数据?
如何使用接口从 dll 中的方法调用和检索数据? 信息: 我们使用的是windows forms和sql server2005,我们将数据作为xml传递并使用存储过程.在应用层客户端不提供互联网,意味着业务和数据库层有互联网连接. 我们已将业务对象类文件作为 dll 放置在具有 Internet 连接的客户端计算机的共享文件夹中.我如何调用 dll 内的函数,通过 dll 内的接口类传递参数并检索输出 在业务层我们有一个接口类“IGetData" 命名空间 WNHRP01BO{public 接口 IGetData{string GetData(string Xml, string 类名, string 模式);}} 业务层中的类文件,具有函数“GetData",如下图所示 命名空间 WNHRP01BO{public class hb007001C0 : WNHRP01BO.IGetData{PLABS.DbProvider _objDb = PLABS.DbProvider
122 2022-07-19
编程技术问答社区
我可以使用Silverlight dll c++和WCF吗
你好 我被分配了一个使用生物识别设备检测手部静脉的项目.设备检测手并允许您保存、验证、识别和删除用户信息 本项目是基于C#WinForm的,本项目使用了另外一个项目用c++/CLI开发的dll.而这个dll调用了一系列的dll文件(c)存储在电脑中 问题是我的老板告诉我应该将 WCF 用于 Silverlight 5 应用程序,该应用程序将从 Internet Explorer 可视化. 正是在这里,我想知道这是否可能,如果可能,应该如何开发应用程序 - 我应该使用 silverlight 的 dll c++/CLI 吗?尝试使用 DllImport 但我认为只能使用方法而不是实例化 dll 类 - 我应该使用 WCF 的 dll c++/CLI 吗?我只知道一点,WCF 用于将消息从一台设备传输到另一台设备,但如果从 WCF 中的 silverlight dll c++/CLI 调用我就可以工作? - 是否可以像这样需要从计算机上的浏览器文件访问的 poj
136 2022-07-19
编程技术问答社区
如何将dll反编译为其源代码
大家好, 我想看看DLL中建立了什么方法和逻辑,并根据我的需要进行一些更改, 那么如何将DLL反编译成其本机完整源代码. 谢谢 解决方案 试试 Red Gate 的 .Net Reflector[^].但是,这不是免费的.如果您想要免费/开源工具,请查看 this[^] 如果您使用 ILDASM(.Net 的内置工具),您实际上可以查看您正在查看的代码的 IL.
2140 2022-07-19
编程技术问答社区
无法加载DLL
你好, 我在 Windows 服务中使用了一个 dll ''pdf2tiff.dll''. 但是当我在服务器 2008 64 位机器上注册它时.它给了我错误(模块点已加载但未找到入口点 dllregister 服务器确保它是有效的 dll) 任何解决方案. 已在 syswow64 中使用 regsvr32.exe 安装 解决方案 您使用的是 64 位版本的 dll,还是没有?如果不是,那可能就是问题所在.
224 2022-07-19
编程技术问答社区
使用ATL创建windows窗体控件
如何使用 ATL 创建一个 windows 窗体控件?? 解决方案 简短的问题,简短的回答:http://blogs.msdn.com/b/calvin_hsia/archive/2006/08/28/729165.aspx[^] 看看这篇文章(使用 ATL 创建一个 ActiveX 控件,您可以在 Fox、Excel、VB6、VB.Net 中使用它).
312 2022-07-19
编程技术问答社区
如何钩住并重新映射键
您好,我正在处理我的大学毕业项目,我需要制作一个 DLL 来挂钩和重新映射一些键盘键,然后再将它们发送到重点程序.示例:我的程序在后面运行,当我在记事本中按 A 写 B. 我希望有人可以帮助我:D 非常感谢,Daniel! 解决方案 尝试查看此页面和相关资源,来自 MSDN 库: http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx[^] 我认为您首先需要的是一个低级键盘挂钩(请参阅WH_KEYBOARD_LL),以便在将键分派到活动应用程序之前对其进行处理. 请注意,从已安装的钩子程序中,您只有两个选择: 避免对发送的密钥进行进一步处理 调用下一个安装的钩子(这意味着您的应用程序对发送的密钥不做任何事情,如果没有安装更多钩子,发送的密钥将被分派给活动的应用程序) 然后要重新映射一些键盘键,您应该执行以下操作: 安装你的钩子程序 从您的钩子程序中识别不应重新映射
136 2022-07-19
编程技术问答社区
如何使用动态链接库(在*.dll中)函数
我正在使用第 3 方的库. 但是只有 Dll 文件(没有 lib 文件). 如何在我的项目中使用它? 我在 Visual Studio 2008 中使用 C++ 应用程序 ps:我英语不好.嗨! 解决方案 理想情况下,你应该有关于你在 DLL 文件中有什么的确切文档,所有的确切 签名 列表导出函数.更理想的是,你最好有你要使用的 DLL 的源代码. 如果您没有,您可以使用一些实用程序,例如“dumpbin.exe":http://msdn.microsoft.com/en-us/library/c1h23y6c%28v=vs.110%29.aspx[^]. 即使你有文档,获取函数的确切名称也很有用,但如果你没有……如果幸运的话,你可以通过它们的重命名猜测函数的签名:http://en.wikipedia.org/wiki/Name_mangling[^]. 如果您掌握了所有信息,那么在 C++ 中使用 DLL 非常简单.请从这里开始: http://m
250 2022-07-19
编程技术问答社区
未找到WinForms ReportViewer图形错误程序集
大家好, 我在修改旧报表时遇到问题,客户想在报表中添加图形,Visual Studio 报表服务(没有 Crystal),我认为自己并不难,但现在我正在努力解决一个错误: 无法加载文件或程序集“Miscosoft.ReportViewer.DataVisualization,版本 = 10.0.0.0,文化中立,PublicKeyToken = b03f5f7f11d50a3a"或其依赖项之一. 显示在图形区域(不是整个报告),报告中的其他信息正确显示. 环境为Visual Studio 2008、Visual Basic、SQL server 2008、SSRS 2008.报表在WinForm应用中作为本地报表运行. 项目中的 Microsoft.ReportViewer.Common/Microsoft.ReportViewer.ProcessingObjectModel 和 Microsoft.ReportViewer.WinForms dll 指向版
292 2022-07-19
编程技术问答社区
如何保护加密密钥
我有一个供不同用户使用的应用程序,当用户开始使用该应用程序时,它将在安装它的位置生成一个许可证文件(加密),并且每次应用程序运行时它都会解密 这是一个真正令人痛苦的问题,每次应用程序运行时,它都需要加密密钥 (AES) 来加密和解密,并且密钥在我的 .NET dll 中是硬编码的.因此用户有可能提取密钥并更改许可证参数以运行应用程序. 所以我关心的是如何保护文件不被篡改?有什么方法可以将一些重要的许可证参数放在其他位置而不是将其保存在文件中?如何保证加密密钥的安全和免受欺诈活动的影响?应用程序处于完全离线状态. 请给我您宝贵的建议和见解. 提前致谢 解决方案 简单:不加密.如果不加密,就没有密钥,所以没有办法回头. 相反,使用散列 - SHA 很好 - 它将您从 PC 收集的“许可证信息"转换为特定代码,然后您将其与存储的值进行比较. 密钥足够长(并且看起来足够随机),不可能计算出它应该用于不同的计算机.和我?我会用一堆我的代码忽略的随机内容使它看起来
560 2022-07-19
编程技术问答社区
的工作流设计器插件。网
你好 有谁知道可用于 dot net 的开源工作流设计 例如[^] 解决方案 你可以使用Windows Workflow Foundation (WF)[^] 与 Visual Studio 社区 2013版本 [^]
286 2022-07-19
编程技术问答社区
[已解决]从C#运行时错误调用ATL dll
你好, 我有一个本机 C++ dll 和一个虚拟类(“mycert").我有一个 ATL dll 项目,我将本机 dll 包含到 ATL 中并为“mycert"创建一个接口.在 mycert 接口中我有一个功能: STDMETHODIMP Cmycert::setSignature(BYTE* data, SHORT size) { cert = new mycert(); ByteArray* barray = new ByteArray(); for(int i=0;isetValue(*barray); cert->setSignature(bitString); return S_OK; } 在一个 c# 项目中,我包含 ATL dll 并调用上述函数
134 2022-07-19
编程技术问答社区
c#-如何从网站使用本地用户dll?[删除其他语言]
你好, 我需要帮助,问题是我在个人电脑桌面(用户的个人电脑)中有一个用户 dll,我需要在网页中使用该 dll,因为 dll 公开了用户个人电脑的功能.我怎样才能从网站调用该 dll? [删除其他语言] :confused: 解决方案 只有英文.购买一本关于 ASP.NET 的书并阅读它.然后,别再想一想,如果网页可以在用户文件系统中搜索 dll 并执行它们,那么网络会有多安全. 不,你不能那样做. armlaz777 写道:你怎么认为这个问题能解决吗. 说“这不可能"不是一种选择. 你看懂第一个答案了吗?不允许这样做是有原因的;这是为了保护用户不要打开可以在他们的系统上执行任何代码的网页,如木马、病毒等. 好吧,也许这是可能的,但我认为您需要重写网络浏览器才能实现. “说“这不可能"不是选项." 嗯,你问的问题是不可能的.说“那不是一个选项"不会改变这一点. 您可以将 ActiveX 控件放在网页中,但我不确定它对文
120 2022-07-19
编程技术问答社区
如何在.NET 3.5中实现远程系统管理应用程序?
我需要在接下来的几天内创建一个系统管理 DLL 来格式化指定的驱动器,以及一个测试应用程序(托管代码)来调用 DLL. 这需要在 .NET 3.5/VS 2008 中实现.我是一个绝对的初学者,一直在尝试了解 COM 和 WMI,但两者似乎都已被取代,我需要非常基本的一步一步指导(即“点击''文件>新建...等) 任何指向合适的搜索词、教程等的指针将不胜感激. 解决方案 leComte75 写道:我需要在接下来的几天内创建一个系统管理 DLL 来格式化指定的驱动器,以及一个测试应用程序(托管代码)来调用 DLL. leComte75 写道:我是一个绝对的初学者 好吧,如果这是为了上课,那么我想你的老师需要被告知他没有正确地教你.如果这是有偿工作,当您是“绝对初学者"时,这显然是一种耻辱,它会破坏我们的行业和我们为您完成工作的工作保障. 该论坛面向需要特定帮助的程序员.有规范但不知道如何完成工作的人应该真正使用工作委员会来提议付钱给某人为他们做工作.
264 2022-07-19
编程技术问答社区
CRC XModem/ZModem解决方案
我需要在VB2008中计算一些电报的CRC,但不确定是X还是Zmodem.老实说,我无法理解该算法,因为我已经看到一些使用查找表,其他使用 polinomes,移位...... 我正在使用的这些电报示例以及 CRC 计算中使用的数据介于 0x02 和 0x04 之间(不包括 02 和 04). STX ADDR 数据 EOT CRCH CRCL ETX 02 38 51 4D 4E 30 30 23 04 F1 D7 03 02 38 51 4D 4E 31 30 04 EC CC 03 02 38 51 4D 4E 32 30 52 04 27 D7 03 我想知道是否没有任何流程图解释如何计算CRC,或者我可以使用的DLL,甚至是VB中的代码. 如果有人可以帮助我... 问候. 解决方案 这里是 VB 函数(非常类似于 C 的代码:它是“官方"C 例程,参见 [^]). 如果效率很重要,请考虑移植基于表的. 函数 calcrc(ByVal
344 2022-07-19
编程技术问答社区
Android和DLL文件集成
Android 是否可以从 DLL 文件中读取和检索值? 解决方案 不能.Android 是 Linux,而不是 Windows.您需要的是 .SO 文件(Linux 等效于 Windows DLL 文件).
408 2022-07-19
编程技术问答社区