动态调用c++的dll
2008-03-26 09:03
447 查看
是我在论坛看到的一个例子,所以记录下来,以后用到可以参考。 [ DllImport("Kernel32.dll") ] public static extern int LoadLibrary(String funcname); [ DllImport("Kernel32.dll") ] public static extern int GetProcAddress(int handle, String funcname); [ DllImport("Kernel32.dll") ] public static extern int FreeLibrary(int handle); // // 注意: 参数列表及返回值要与方法(test)对应.. // public delegate int Invoker(string ProjName, string SchemeName, string Mile, ref double ContnMile, ref bool Reliability, ref short LineKind); static void Main(string[] args) { int handle = LoadLibrary(@"test.dll"); //要调用的类库.. if (handle != 0) { int address = GetProcAddress(handle, "test"); //指定函数名称.. if (address != 0) { Invoker invoker = (Invoker)Marshal.GetDelegateForFunctionPointer(new IntPtr(address), typeof(Invoker)); //use invoker -> demo: invoker(...); FreeLibrary(handle); } } }
相关文章推荐
- C++ template
- C++_cast
- 读书笔记-Thinking in C++-第11章 引用和拷贝构造函数
- 新手入门:C/C++中枚举类型(enum)
- C语言各个存储区的说明
- C++科学计算库-gsl
- 用VC++建立Service服务应用程序
- Boost在C++自己的墙上打洞
- 利用Visual C++设置桌面墙纸
- 从C/C++到C#的锐利之路
- C++编程中,利用WINDOWS API获得系统状态信息[CPU占用率,硬盘使用情况,内存使用情况]
- C 和 C++ 字符串字面量的比较
- 两端C++BUILDER代码
- Chapter 5 Data Hiding and Member Functions
- Chapter 2 Native Types and Statements
- Types of C++ Inheritance: public protected private
- c++中__declspec用法总结
- C++堆、栈、自由存储区、全局/静态存储区和常量存储区
- C语言测试
- 推荐《C++Primer》