C++ ACE 动态加载链接库

添加头文件

#include <ace/DLL.h>
#include <ace/DLL_Manager.h>

定义函数接口

typedef long (*PFN_TEST)(const char* szName);
PFN_TEST        g_pfnTest = NULL;

加载动态库(dll/so)

    ACE_TCHAR szDName[128] = { 0 };
    strncpy(szDName, D_NAME, 128);    

    ACE_DLL m_hD;
    int nRet = m_hD.open(szDName);
    if(nRet != 0)
    {
        cout << "ERROR." << endl;
        m_hD.close();
        return nRet;
    }

调用动态库函数

g_pfnTest = (PFN_TEST)m_hD.symbol("Test");

    if(g_pfnTest != NULL)
    {
        g_pfnTest ("wjshan0808");
    }
时间: 2024-11-06 10:17:33

C++ ACE 动态加载链接库的相关文章

crm动态加载js库

function load_script(url) { var xmlHTTPRequest; if (window.ActiveXObject) { xmlHTTPRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHTTPRequest = new XMLHttpRequest(); } else { xmlHTTPRequest = new ActiveX

MFC 加载链接库(DLL)错误

我用的是VS2010 在用WMI获取电脑系统信息时,要使用到win系统的dll, 错误1: 错误提示:Error 1error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]f:\vs2010u\vc\atlmfc\include\afx.h 241

QTP动态加载对象库

Public Function AddObjectRepository(path) On Error Resume Next Dim pos, repath If instr(path,".tsr") Then repath = path else repath = path & ".tsr" End If RepositoriesCollection.RemoveAll() print repath RepositoriesCollection.Add (

Android动态加载那些事儿

基础 1.Java 类加载器 类加载器(class loader)是 Java?中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式.加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi?中的应用. 2.反射原理 Java 提供的反射機制允許您於執行時期動態載入類別.檢視類別資訊.生成物件或操作生成的物件,要舉反射機制的一個應用實例,就

Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库     本文地址:http://techieliang.com/2017/12/680/ 文章目录 1. 动态连接库创建与使用  1.1. 项目创建  1.2. 调用-使用.h文件 2. 静态库创建及使用  2.1. 创建  2.2. 使用 3. QLibrary动态加载动态库  3.1. 介绍  3.2. 范例  3.3.

IOS 使用动态库(dylib)和动态加载framework

在iphone上使用动态库的多为dylib文件,这些文件使用标准的dlopen方式来使用是可以的.那相同的在使用framework文件也可以当做动态库的方式来动态加载,这样就可以比较自由的使用apple私有的framework了. dlopen是打开库文件 dlsym是获取函数地址 dlclose是关闭. 当然,要使用这种方式也是有明显缺陷的,那就是你要知道函数名和参数,否则无法继续. 私有库的头文件可以使用class dump的方式导出来,这个详细的就需要google了. 下面是两个使用的例子

spring动态加载(刷新)配置文件 [复制链接]

待验证 在程序开发时,通常会经常修改spring的配置文件,不得不重启tomcat来加载spring配,费时费力.如果能在不重启tomcat的情况下,手动动态加载spring 配置文件,动态重启读取spring配置文件,这样会十分方便.spring貌似自带refresh刷新效果,只要获取到XmlWebApplicationContext,调用refresh即可. 代码如下: /** * 重新加载配置文件(只有想不到没有猜不到) * @Author        张志朋 * @param requ

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

Android 使用动态加载框架DL进行插件化开发

如有转载,请声明出处: 时之沙: http://blog.csdn.net/t12x3456    (来自时之沙的csdn博客) 概述: 随着应用的不断迭代,应用的体积不断增大,项目越来越臃肿,冗余增加.项目新功能的添加,无法确定与用户匹配性,发生严重异常往往牵一发而动全身,只能紧急发布补丁版本,强制用户进行更新.结果频繁的更新,反而容易降低用户使用黏性.或者是公司业务的不断发展,同系的应用越来越多,传统方式需要通过用户量最大的主项目进行引导下载并安装. 怎么办?参考浏览器-插件开发模式: 一.