07 2011 档案
摘要:1、 DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。 静态链接库与动态链接库的区别: (1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。 (2)静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。 动态链接库的分类:Visual C++支持三种DLL,它们分别是: (1)Non-MFC D
阅读全文
摘要:通过GetProcAddress函数动态调用dll中的函数,是否必须通过extern "C"声明导出函数? [已结贴,结贴人:darongtou]如题,网上搜了N多资料,一直找不到确定的答案,目前我的答案是“是”。晚上因为一个程序,好好研究了一下。很多资料上都只是说明“如果没有 extern "C" 修饰,输出函数仅仅能从 C++ 代码中调用。”却并没有明确这个调用是通过显式调用还是隐式调用,我也一直没有看到过有代码是通过显示调用没有 extern "C" 修饰的导出函数。MSDN上也只是说The spelling and case
阅读全文
摘要:第一章的sample1,文中提到由于windows底层代码基本上是用c语言编写的,因此新工程里的CPP文件要改为C文件。 但是在编译时出现错误fatal error C1853: "debug/1_1.pch" is not a precomplied header file with this complier...... 这个问题还真是头一次遇到,怎么办?百度一下,解决办法如下: 错误原因: 该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。 在 VC++ 中,默
阅读全文
摘要:DLL的export是指将DLL中的函数和数据输出到其它程式中,以供其使用。DLL的import是指使用DLL的程式引入DLL中的函数和数据。DLL的exportDLL 中包含有一个表,称为export table(以下简称ET),其中包含了DLL中可以被外部程式使用的所有函数和数据的名字。只有记录在ET中的函数和数据才可以被外部程式所使用(如果 没有.DEF文件的话),其它所有没有记录在ET中的函数和数据都被视为是DLL私有的。因此,要将DLL中的函数和数据export只有两个方法:1、为DLL创建一个.DEF文件(模块定义文件),并在build该DLL时使用这个.DEF文件。使用这种方法使
阅读全文
摘要:符合ANSI的预定义宏:__DATE__:表示当前源文件编译时的日期,格式为:月/天/年(Mmm dd yyyy)。__FILE__:表示当前正在处理的源文件名称。__LINE__:表示当前正在处理的源文件的行,可以用#line指令修改。__STDC__:表示是ANSI C标准。只有在编译器选项指定了/Za,并且不是编译C++程序时,被定义为常整数1;否则未定义。__TIME__:表示当前源文件的最近编译时的时间,格式为:小时/分/秒(hh:mm:ss)。__TIMESTAMP__:表示当前源文件的最近修改日期和时间,格式为:Ddd Mmm dd hh:mm:ss yyyy,其中Ddd是星期的
阅读全文
摘要:1、VC编译选项 多线程 (/MT) 多线程调试 (/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd)2、C 运行时库 库文件 Single thread(static link) ML libc.lib Debug single thread(static link) MLd libcd.lib MultiThread(static link) MT libcmt.lib Debug multiThread(static link) MTd libcmtd.lib MultiThread(dynamic link) MD msvcrt.lib Debug multiTh
阅读全文
摘要:<C++标准函数库>中说的有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy().................................................................int 转 CString: CString.Format("%d",int);.................................................................string 转 CStri
阅读全文