- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 C++ 动态调用dll库
案例:使用上一篇文章中封装的dll,即dll中有函数:int ADD(int x, int y);#include "stdafx.h"#include <Windows.h>#include <iostream>#include <string>using namespace std;typedef int(*hADD)(int x, ...
2019-01-22 14:54:46 2027
原创 C++ 根据静态库封装动态库(封装动态库__declspec(dllexport):)
一、__declspec(dllexport): 将一个函数声明为导出函数,就是说这个函数要被其他程序调用,即作为DLL的一个对外函数接口。 通常它和extern "C" 合用,形式如下:extern "C"{__declspec(dllexport) RETURN_TYPE FUNCTION(){}} 这是由于在制作DLL导...
2019-01-22 14:11:10 3067 2
原创 Invoke类型的已垃圾回收委托进行了回调
C#调用C++的函数出现了这个异常,记录之。 public delegate void VOIPREGSTATEPROC(IntPtr hReg, VOIPREG_STATE state, IntPtr msg); public delegate void VOIPCALLSTATEPROC(IntPtr hCall, VOIPCALL_STATE state, IntPtr msg...
2019-01-21 14:31:26 3359
原创 C#调用C++DLL二级指针处理方式
我的项目中实际遇到的是char**的二级指针,C#怎么调用呢?首先,在C++中char*和c#中的string类型是等价的。char**二级指针,就是个二位数组,等价于C#string类型的一维数组。经过一番思考,我用IntPtr接收C++的char**。问题是,用IntPtr接收char**怎么从内存中获取string数组呢?看了Marshal这个类中,有个PtrToStructure这个方法,...
2019-01-08 19:12:25 2700 4
原创 c++动态调用DLL库(加载“无法读取内存”错误的解决方案)
在动态调用时,首先要加载头文件。#include <Windows.h> Windows头文件中包含可以加载DLL的函数。 在调用DLL函数之前,要定义函数指针,用来调用函数。可以看出,函数指针的类型与DLL中的要一致。typedef int(*hADD)(int x, int y);调用LoadLibrary函数加载DLL文件。加载成功,hDLL指针不为空。HI...
2019-01-02 18:27:06 6025 3
原创 http请求入队列以及遇到的问题总结
http请求入队列排队执行以及遇到的问题总结队列以及加锁的注意事项,如下所示,记录之,线程的知识体系尚需完善。public class HttpContext { public HttpListenerContext httpListenerContext...
2019-01-02 14:22:06 3902
C#公共通用类
2018-09-07
ASP.NET MVC 5高级编程 第5版(中文版)
2018-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人