随笔分类 -  C/C++

摘要:linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:... 阅读全文
posted @ 2015-01-18 17:37 DageKing 阅读(645) 评论(6) 推荐(1)
摘要:最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。当窗口大小发生变化时,响应的顺序依次是:WM_GETM... 阅读全文
posted @ 2014-12-23 18:25 DageKing 阅读(672) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/ider/archive/2011/06/30/what_is_in_cpp_header_and_implementation_file.html在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分... 阅读全文
posted @ 2014-10-27 18:27 DageKing 阅读(593) 评论(0) 推荐(0)
摘要:转自:http://xiangyanglai.blog.163.com/blog/static/2047252022012715103338279/关于两者以前的关系,要从N年以前说起了~ long long ago,once aupon a time .......那是一个被 遗忘的年代,在编译器... 阅读全文
posted @ 2014-10-27 18:26 DageKing 阅读(3842) 评论(1) 推荐(3)
摘要:C语言:宽字符集操作函数(unicode编码)字符分类: 宽字符函数 普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcn... 阅读全文
posted @ 2014-10-16 19:04 DageKing 阅读(2503) 评论(0) 推荐(1)
摘要:转自:http://blog.csdn.net/wangxiaolong_china/article/details/8362540什么是容器首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简... 阅读全文
posted @ 2014-10-13 19:17 DageKing 阅读(1016) 评论(1) 推荐(1)
摘要:在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html 阅读全文
posted @ 2014-09-24 16:58 DageKing 阅读(351) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/lidabo/archive/2013/04/10/3011518.html对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习多线程编程最重要的不是学习API,而是理解什... 阅读全文
posted @ 2014-09-15 19:47 DageKing 阅读(772) 评论(0) 推荐(0)
摘要:DLL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置:1、配置属性-常规-目标文件名 $(ProjectName) 加d2、配置属性-连接器-常规-输出问件 由 加d3、配置属性-连接器-高级-导... 阅读全文
posted @ 2014-06-29 11:27 DageKing 阅读(830) 评论(0) 推荐(0)
摘要:为了程序编写方便,根除乱码问题等等需求,很多新项目都采用了Unicode编码。同时,不少使用MBCS多字节编码的旧项目为了升级,也有了转向Unicode编码的意向。不过,从MBCS升级到Unicode并不是无缝的,该问题的复杂程度,取决于代码总量和代码的编写质量。本文是作者在一个C/C++项目中的一... 阅读全文
posted @ 2014-06-16 19:01 DageKing 阅读(706) 评论(0) 推荐(0)
摘要:建立UNICODE编码工程 在VC60下,默认方式下建立的是ANSI编码的工程(注:编译的exe内部,其资源字符是以UNICODE保存),建立UNICODE编码工程的方法:1、为工程添加UNICODE和_UNICODE预处理选项。 具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框... 阅读全文
posted @ 2014-06-04 08:59 DageKing 阅读(633) 评论(0) 推荐(0)
摘要:在使用一些新版本的API,或者控件的新特性(比如新版的ComCtl32.dll)的时候,你可能会得到“error C2065: undeclared identifier.“这个错误。原因是这些功能是依赖于你的操作系统的版本的。而你的头文件中的定义并不是最新的。(对于MFC,就是stdafx.h)下面详细列举了每个Windows版本对应的NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE这些宏。The following table describes the preferred macros in use by the Windows header fi. 阅读全文
posted @ 2014-01-18 20:11 DageKing 阅读(776) 评论(0) 推荐(0)
摘要:Visual Studio开发C++,工程的空间几M,几十M甚至几百M的长,生成的中间文件看的眼花缭乱,占空间不说,特别是备份拷贝代码时无奈的等待,有了这个脚本,好吧,整个世界清静了。@echo offecho ----------------------------------------------------------------echo * Visual C++ *echo * 清理Visual Studio工程中不需要的文件 *... 阅读全文
posted @ 2014-01-15 21:54 DageKing 阅读(1518) 评论(1) 推荐(1)
摘要:Windows应用程序的VC链接器设置/*转载请注明出自 听风独奏www.GbcDbj.com*/ Windows应用程序分为GUI(Graphical User Interface)和CUI(Console User Interface)程序,很多人却会误认为Windows程序就是GUI程序。 很多初学者使用Microsoft Visual Studio 编写程序时经常会错误地创建程序类型,导致出现”unresolved external symbol”的错误,原因在于Visual C++的链接器开关设置问题。该开关在: 项目属性->链接器->系统->子系统。 首先,创建G 阅读全文
posted @ 2014-01-15 20:34 DageKing 阅读(1564) 评论(0) 推荐(0)
摘要:[转]#define WIN32_LEAN_AND_MEAN 的作用今天看了用mysql的库+vc连接数据库,结果我用mfc application向导建立一个工程,然后添加#include "mysql.h"(已经设置好了环境),编译出现了一大堆错误,如下Compiling...StdAfx.cppc:mysqlincludemysql_com.h(116) : error C2146: syntax error : missing ';' before identifier 'fd'c:mysqlincludemysql_com.h(11 阅读全文
posted @ 2014-01-15 19:39 DageKing 阅读(1257) 评论(0) 推荐(0)
摘要:c++中char*\wchar_t*\string\wstring之间的相互转换转:http://blog.csdn.net/mfcing/article/details/7529848最近在编程中经常遇到需要多字节字符与宽字节字符相互转换的问题,一直自己贴那几句代码。觉得麻烦,于是就自己写了一个类来封装wchar_t与char类型间的转换,其他的,诸如:CString\ LPWSTR\TCHAR CHAR\LPSTR之间也是一样用头文件:#ifndef USE_H_ #define USE_H_ #include #include #include using names... 阅读全文
posted @ 2014-01-15 12:36 DageKing 阅读(1307) 评论(2) 推荐(1)
摘要:彻底解密C++宽字符(二)转:http://club.topsage.com/thread-2227977-1-1.html4、利用codecvt和use_facet转换locale和facetC++ 的locale框架比C更完备。C++除了一个笼统本地策略集locale,还可以为locale指定具体的策略facet,甚至可以用自己定义的 facet去改造一个现有的locale产生一个新的locale。如果有一个facet类NewFacet需要添加到某个old_loc中形成新 new_loc,需要另外一个构造函数,通常的做法是:std::locale new_loc(old_loc, new 阅读全文
posted @ 2014-01-15 11:18 DageKing 阅读(1831) 评论(0) 推荐(0)
摘要:彻底解密C++宽字符(一)转:http://club.topsage.com/thread-2227977-1-1.html1、从char到wchar_t“这个问题比你想象中复杂”从字符到整数char 是一种整数类型,这句话的含义是,char所能表示的字符在C/C++中都是整数类型。好,接下来,很多文章就会举出一个典型例子,比如,'a'的数值就是0x61。这种说法对吗?如果你细心的读过K&R和BS对于C和C++描述的原著,你就会马上反驳道,0x61只是'a'的ASCII值,并没有任何规定C/C++的char值必须对应ASCII。C/C++甚至没有规定ch 阅读全文
posted @ 2014-01-15 11:09 DageKing 阅读(7939) 评论(0) 推荐(2)
摘要:wchar_t char string wstring 之间的转换转:http://blog.csdn.net/lbd2008/article/details/8333583在处理中文时有时需要进行wchar_t,char,string,wstring之间的转换。其中char和string之间、wchar_t和wstring之间的转换较为简单,代码在vs2010下测试通过。#include #include #include #include using namespace std;//ConvertingaWCharstringtoaAnsistringchar *w2c(char *pcs 阅读全文
posted @ 2014-01-15 11:03 DageKing 阅读(1085) 评论(0) 推荐(1)
摘要:利用VS2010工具,调试DLL文件的方法现总结如下: 在一个解决方案中生成两个工程,假设MYDLL和MYDLG两个工程,前者是DLL工程,后者DLG调用前边的DLL工程。设置如下:目录如下:图,本文例子中,DLL文件和EXE文件都生成在下边的这个DEBUG文件中:D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug,当然,也可以生成在其他文件目录下,只要设置正确即可。目的:遵循DLL和exe最后生成的文件在一个目录内,且两个工程之间有种关联,使EXE工程能够调用DLL工程。首先编译DLL工程。接着,进行下边的设置。一、MYDLG... 阅读全文
posted @ 2014-01-03 13:25 DageKing 阅读(1401) 评论(0) 推荐(0)