C++
tianyu0910
Hello everyone!
展开
-
C# 动态调用DLL
<br />本来是想实现控制台程序运行时自动全屏,但是只找到VC下的实现方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347)。<br />其中要使用两个未公开的Win32 API函数来存取控制台窗口,这就需要使用动态调用的方法,动态调用中使用的Windows API函数主要有三个,即:Loadlibrary,GetProcAddress和Freelibrary。步骤如下:<br />1. Loadlibrary: 装载指定DLL动态库<br转载 2010-08-10 15:12:00 · 597 阅读 · 0 评论 -
MultiByteToWideChar 和 WideCharToMultiByte
<br />1.使用方法详解 <br /> 在本文开始之处,先简要地说一下何为短字符和宽字符. 所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.<br /> 关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说. 宽字符转换为多个短字符是一个难点,不过我们只要掌握到其中的要领,便转载 2010-08-10 17:17:00 · 541 阅读 · 0 评论 -
T()和L的区别
<br />Visual C++里边定义字符串的时候,用_T来保证兼容性,是一种数据类型,但是它不会产生结果,被编译系统的预处理系统来解释,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。<br /> 如果将来你不打算升级到unicode,那么也不需要_T!<br />_T是将字符串转换为TCHAR,TCHAR是一个宏定义,当定义了UNICODE时TCHAR等同于 WCHAR,否则等同于CHAR。为了和以后的转载 2010-08-10 17:19:00 · 3955 阅读 · 0 评论 -
堆和栈的理论知识
<br />1.申请方式 <br /> stack: <br /> 由系统自动分配。 <br /> 例如,声明在函数中一个局部变量 <br /> int b; 系统自动在栈中为b开辟空间 <br /> heap: <br /> 需要程序员自己申请,并指明大小,在c中malloc函数 <br /> 如p1 = (char *)malloc(10); <br /> 在C++中用new运算符 <br /> 如p2转载 2011-03-19 16:58:00 · 304 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初转载 2011-03-19 16:50:00 · 275 阅读 · 0 评论 -
LPTSTR、LPCSTR、LPCTSTR、LPSTR
<br />LPSTR:32bit指针,指向一个字符串,每个字符占1字节。<br />LPCSTR:32-bit指针,指向一个常字符串,每个字符占1字节。<br /><br />LPCTSTR:32-bit指针,指向一个常字符串,每字符可能占1字节或2字节,取决于Unicode是否定义。<br /><br /><br /> <br />LPTSTR:32-bit指针,每字符可能占1字节或2字节,取决于Unicode是否定义。<br />------------------------------------转载 2011-03-21 10:34:00 · 453 阅读 · 0 评论