内存加载dll

上传者: yizhenweifeng | 上传时间: 2013-03-26 00:00:00 | 文件大小: 28KB | 文件类型: zip
内存加载动态库 MemoryLoadLibrary 有例子。 /* * Memory DLL loading code * Version 0.0.3 * * Copyright (c) 2004-2013 by Joachim Bauch / mail@joachim-bauch.de * http://www.joachim-bauch.de * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is MemoryModule.h * * The Initial Developer of the Original Code is Joachim Bauch. * * Portions created by Joachim Bauch are Copyright (C) 2004-2013 * Joachim Bauch. All Rights Reserved. * */ #ifndef __MEMORY_MODULE_HEADER #define __MEMORY_MODULE_HEADER #include typedef void *HMEMORYMODULE; typedef void *HMEMORYRSRC; typedef void *HCUSTOMMODULE; #ifdef __cplusplus extern "C" { #endif typedef HCUSTOMMODULE (*CustomLoadLibraryFunc)(LPCSTR, void *); typedef FARPROC (*CustomGetProcAddressFunc)(HCUSTOMMODULE, LPCSTR, void *); typedef void (*CustomFreeLibraryFunc)(HCUSTOMMODULE, void *); /** * Load DLL from memory location. * * All dependencies are resolved using default LoadLibrary/GetProcAddress * calls through the Windows API. */ HMEMORYMODULE MemoryLoadLibrary(const void *); /** * Load DLL from memory location using custom dependency resolvers. * * Dependencies will be resolved using passed callback methods. */ HMEMORYMODULE MemoryLoadLibraryEx(const void *, CustomLoadLibraryFunc, CustomGetProcAddressFunc, CustomFreeLibraryFunc, void *); /** * Get address of exported method. */ FARPROC MemoryGetProcAddress(HMEMORYMODULE, LPCSTR); /** * Free previously loaded DLL. */ void MemoryFreeLibrary(HMEMORYMODULE); /** * Find the location of

文件下载

资源详情

[{"title":"( 19 个子文件 28KB ) 内存加载dll","children":[{"title":"MemoryModule-master","children":[{"title":".gitignore <span style='color:#111;'> 16B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 244B </span>","children":null,"spread":false},{"title":"MemoryModule.c <span style='color:#111;'> 24.23KB </span>","children":null,"spread":false},{"title":"doc","children":[{"title":"readme.txt <span style='color:#111;'> 18.15KB </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE.txt <span style='color:#111;'> 16.33KB </span>","children":null,"spread":false},{"title":"example","children":[{"title":"Makefile <span style='color:#111;'> 256B </span>","children":null,"spread":false},{"title":"DllLoader","children":[{"title":".gitignore <span style='color:#111;'> 9B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 533B </span>","children":null,"spread":false},{"title":"DllLoader.vcproj <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false},{"title":"DllLoader.cpp <span style='color:#111;'> 2.76KB </span>","children":null,"spread":false}],"spread":true},{"title":"DllMemory.sln <span style='color:#111;'> 1.45KB </span>","children":null,"spread":false},{"title":"SampleDLL","children":[{"title":".gitignore <span style='color:#111;'> 16B </span>","children":null,"spread":false},{"title":"SampleDLL.cpp <span style='color:#111;'> 106B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 628B </span>","children":null,"spread":false},{"title":"SampleDLL.h <span style='color:#111;'> 188B </span>","children":null,"spread":false},{"title":"SampleDLL.vcproj <span style='color:#111;'> 3.38KB </span>","children":null,"spread":false},{"title":"SampleDLL.rc <span style='color:#111;'> 686B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"MemoryModule.h <span style='color:#111;'> 2.68KB </span>","children":null,"spread":false},{"title":"readme.txt <span style='color:#111;'> 755B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • xqchang :
    很好的内存调用DLL的例子
    2015-12-24
  • liubin12105 :
    非常有技术含量的源代码!内存加载DLL!谢谢了。CSDN真是个好地方!
    2015-02-10
  • gnorth :
    好东西,C语言果然是万能的。
    2014-11-17
  • longlikeyou5566 :
    非常实用,可以从内存读dll了
    2014-10-10
  • alei73867 :
    测试不能 dll里线程好像有点问题
    2014-10-03

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明