目录1.DLL中导出函数的方式有两种2.查看dll导出函数;3.__declspec(dllexport)和.def文件的区别。1.DLL中导出函数的方式有两种:方式一:在每一个函数声明前添加标识符: __declspec(dllexport)比如:__declspec(dllexport) int...
分类:
其他好文 时间:
2014-10-27 17:14:12
阅读次数:
202
创建库文件工程时往往需要设置.lib文件和.dll文件的路径。假设一个solution对应了多个工程,然而他们共用一些库,就可以在solution文件夹下分别添加两个文件夹lib和bin(其实放在一起也可以,更方便)lib文件:工程属性页-Configuration Properties-Gener...
分类:
其他好文 时间:
2014-10-22 23:41:42
阅读次数:
388
我最近在调试一个dll时,出现了一个莫名的断言错误,就是在主程序中创建由MFC 扩展DLL导出的一个控件(该控件继承自CWnd类)时,一调用Create()函数就出现下面的的断言错误:
调试跟进去:
file:afxwin1.inl
line:21
发现是下面的断言语句报错:
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResource...
DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息。 DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称。 DllImport的定义如下:[AttributeUsage(At...
分类:
其他好文 时间:
2014-10-07 16:27:53
阅读次数:
180
ATL提供了BSTR和CComBSTR,还有OLEAUTO32.DLL导出一个API叫SysAllocString。BSTR是一个typedef,你可以理解为typedefWCHAR*BSTR,它就是一个指针。BSTR p = L"Hello World!"编译是没问题的。不过不推荐这么做。因为按M...
分类:
其他好文 时间:
2014-09-15 17:19:39
阅读次数:
246
1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含...
分类:
其他好文 时间:
2014-09-02 17:33:55
阅读次数:
250
Excel.dll 导出Excel控制2010-06-12 11:262932人阅读评论(2)收藏举报excelmicrosoftstring产品服务器google 最近做了个导出Excel的程序! 那个心烦啊。开始要求是直接将gridview导出成Excel,简单!这样就可以解决了! 但要重写个 ...
分类:
其他好文 时间:
2014-08-27 09:15:37
阅读次数:
362
(转)关于C/C++函数调用约定,大多数时候并不会影响程序逻辑,但遇到跨语言编程时,了解一下还是有好处的。VC中默认调用是__cdecl方式,Windows API使用__stdcall调用方式,在DLL导出函数中,为了跟Windows API保持一致,建议使用__stdcall方式。调用约定跟堆栈...
分类:
其他好文 时间:
2014-08-23 20:15:01
阅读次数:
228
经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源我们用VS2008新建个DLL工程,工程名为“TestD...
分类:
其他好文 时间:
2014-08-20 13:51:02
阅读次数:
271