方法-MFC调用多个动态库无法正常运行

问题描述

MFC调用多个动态库无法正常运行
VS2010写的MFC程序调用多个动态库,可以在F5下正常运行,
直接打开.exe文件可以启动但是无法正常的调用动态库,
(就是界面能打开,但是跑步起来数据)程序不报错。其中有些库同时加载一个动态库,修改后还是无法解决。求解决方法。

程序构成详细说明:
如果最终生成程序是:a.exe
a.exe加载:b.dll/c.dll/d.dll
c.dll/d.dll修改后通过回调函数使用b.dll中方法。

解决方案

动态库要放在项目的目录或者系统目录中。

解决方案二:
你调试一下,你的程序有没有调用到 dll 的函数,再看其它问题。先保证路径要对,才能调用到 DLL

解决方案三:
如果加载dll成了,那么就是调用dll的函数有问题,或者说函数实现逻辑有问题,没有得到你期望的结果

时间: 2024-08-24 05:08:22

方法-MFC调用多个动态库无法正常运行的相关文章

C#调用非托管动态库中的函数

C#如何调用一个非托管动态库中的函数呢,比如用VC6写的动态库,总之C#调用动态库的过程是比Java调用DLL动态库方便快捷多了,下面举例说明这个过程. 1.创建一个非托管动态库 代码如下: //这一句是声明动态库输出一个可供外不调用的函数原型. extern "C" __declspec(dllexport) int add( int , int ); int add( int a, int b) { //实现这个函数returna+b; } 注意上面代码,一定要加上 extern&

C#调用c++的动态库dll演示例程

1.首先编写c++动态库 extern "C" __declspec(dllexport) int __stdcall add(int x, int y) { return x + y; } extern "C" __declspec(dllexport) extern "C"使得在C++中使用C编译方式成为可能.在"C++"下定义"C"函数,需要加extern "C"关键词.用exte

带你玩转Visual Studio——调用约定与(动态)库

上一篇文章带你玩转Visual Studio--调用约定__cdecl.__stdcall和__fastcall中已经讲述了__cdecl.__stdcall和__fastcall几种调用约定的主要区别.这一章将进一步深入了解不同调用约定对编译后函数修饰名的影响,及调用约定对库函数的影响. VS设置默认的调用约定 上一章已经讲了,C/C++默认的调用约定是__cdecl,那能不能修改这个默认的调用约定呢?答案是肯定的.假设你有一个工程名叫VisualStudio,你想让这个工程下的所有函数默认都

如何在c#中调试被调用的VC动态库?

问题描述 求助. 解决方案 解决方案二:顶上去一直没弄明白

c#子线程调用动态库耗时比主线程长

问题描述 问一个问题,调用一个第三方动态库(主要功能是执行指定exe并返回结果)我现在在主线程调用动态库,耗时10s但是在子线程调用动态库,耗时30多秒,这个会有什么原因导致的exe程序有一些依赖文件,放在根目录下,system32下面也放了一份子线程主要是通个异步委托调用方法 解决方案 解决方案二:是子线程内耗时30多秒主线程和子线程的代码有区别吗?你的线程是怎么开的?你说到了依赖文件,这跟方法有什么关系?你什么都是文字,让人情何以堪解决方案三:1.耗时30秒:是我调用动态库开始计时,到返回结

c#-急啊!!C# 动态库调用问题

问题描述 急啊!!C# 动态库调用问题 调用别人的动态库,窗体模式下可以调用成功,有返回值: [DllImport("lisreportdll.dll", EntryPoint = "f_lisinit")] private static extern int f_lisinit(string as_connectstring, string as_printer, string as_hosname); 实现: public int lisinit(string

c#-窗体程序调用别人动态库成功,控制台应用程序不成功

问题描述 窗体程序调用别人动态库成功,控制台应用程序不成功 C#调用别人的动态库,用窗体程序调用成功 用控制台应用程序调用不成功 解决方案 1.在解决方案中添加引用:右键鼠标-->添加引用-->浏览-->选择dll放置路径后点击"确定". 2.在应用文件头处使用using ×××: 3.控制台下面在main中调用. 第一次回答问题,不知道对你有木有帮助

Linux Debugging(六): 动态库注入、ltrace、strace、Valgrind

实际上,Linux的调试方法非常多,针对不同的问题,不同的场景,不同的应用,都有不同的方法.很难去概括.本篇文章主要涉及本专栏还没有涵盖,但是的确有很重要的方法.本文主要包括动态库注入调试:使用ltrace命令处理动态库的调试:使用strace调试系统调用的问题:Valgrind的简要介绍. 1. 动态库注入       如何排除其他library的调用问题?动态库注入(library injection)有可能会让你事半功倍. 一个大型的软件系统,会用到非常多的动态库.那么如果该动态库的一个a

C++windows内核编程笔记day11 win32静态库和动态库的使用

windows库程序: 静态库: 源代码被链接到调用的程序或动态库,被调用时,代码最少有1份,文件后缀.LIB 动态库: 函数被程序或其他动态库调用,被调用时,代码只有1份,文件后缀.DLL 静态库(C语言): 创建时,选择文本类型文件,输入Clib.c,设置输出路径 ../lib/Clib.lib int Clib_add(int a,int b) {return a+b; } 同一上工作区,建立控制台程序(.c文件)调用静态库: #include<STDIO.H> #pragma comm