C++
九月丫头
Qt、C/C++、MFC、ruby、java、lua、python
展开
-
error C2275: “XXX”: 将此类型用作表达式非法
在移植c++代码到c的时候,经常会出现一个奇怪的错误,error C2275: “XXX”: 将此类型用作表达式非法表达式非法,这个错误是由于c的编译器要求将变量的申明放在一个函数块的头部,而c++没有这样的要求造成的。解决的办法就是把变量的申明全部放在变量的生存块的开始。这是我写的一个函数:int aeGetFileEvents(aeEventLoop *eventLoop,...原创 2019-10-28 16:01:32 · 1959 阅读 · 2 评论 -
利用虹软人脸识别SDK搭建的一个C++小Demo
最近看的一个美女小姐姐讲解的人脸识别应用程序搭建,挺感兴趣,然后自己照着做了一遍。步骤很详细,做完决定再把她的视频简化为博客,很简单的一个小Demo,代码部分没有分析,单纯只是讲了怎么搭建环境并运行。感兴趣的可以自行分析代码。参考视频讲解:https://www.ixigua.com/i6724843974432915982/虹软公司的这个产品是免费的,适合用来学习体验。环境:VS...原创 2019-09-01 21:27:41 · 2835 阅读 · 5 评论 -
Debug方式取代printf满天飞
对于喜欢用printf Debug的同行来说,最麻烦的莫过于要重复输入很多printf语句,而且模块调试完成后要手动的把它们拿掉。 现在介绍一个很好的办法(VS2010中): #ifdef _DEBUG #define D_STR(_STR_) printf("f:%s(l:%d)%s\n",__FILE__,__LINE__,_STR_);#define D_LINE原创 2013-06-06 11:19:18 · 2831 阅读 · 1 评论 -
STL,ATL,WTL之间的联系和区别
一、STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前,该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm原创 2013-05-14 14:44:39 · 6994 阅读 · 0 评论 -
XML可扩展标记语言 -- 学习笔记一
一、定义:可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。xml文件格式如下:原创 2013-05-22 17:40:54 · 7651 阅读 · 6 评论 -
#define 有参数的宏定义
看别人的代码时编译一直出错代码为:#define SERVER_PE(msg, args...) do{printf(COLOR_RED);printf( "[SERVER] ERROR! ");printf("%s:", __FUNCTION__);printf(msg, ##args);printf( COLOR_NONE);}while(0)报错: d:myprojects\fax原创 2013-05-17 14:05:44 · 5611 阅读 · 0 评论 -
Linux C++代码移植到Windows要解决的问题
1、新建一个Win32项目,将所有源文件复制到项目文件夹中,并添加到工程中。2、直接编译会出现错误:fatal error C1010: unexpected end of file while looking for precompiled header directive 致命错误C1010:在寻找预编译指示头文件时,文件未预期结束。 就是没有找到预编译指示信息的头文件。原创 2013-05-15 16:18:38 · 9086 阅读 · 0 评论 -
__attribute__ ((packed)) 的作用
最近在看我们的代码的时候发现声明类型的时候有 __attribute__ ((packed))的结构体类型声明,如下:typedef struct Student{ int SID; char SName;}__attribute__((packed)) Sinfo;不知道是什么意思,查了下知道是如下含义:1. __attribute__ ((packed)) 的作原创 2013-05-16 11:18:57 · 7936 阅读 · 0 评论 -
Win7 64位系统安装OpenCV2.3,并在VS2010中配置(下)
4、创建VS2010项目:没有VS2010,可以点击下面链接下载:(1)Visual Studio 2010 Professional Edition 官方下载(2)迅雷7下载链接,将下面链接复制到迅雷的新建任务URL下载 thunder://QUFodHRwOi8vYmlnMS5jcjE3My5jb20vL1ZTMjAxMFByb1RyaWFsQ0hTLnJ原创 2013-04-07 16:17:26 · 5101 阅读 · 1 评论 -
VC++检测可执行程序DLL、EXE等是32位还是64位
1.首先介绍PE结构 Windows系统下的可执行文件,是基于Microsoft设计的一种新的文件结构,此结构被称之为PE结构。PE的意思是Portable Executable(可移植的执行体),所有Win32执行体都是用PE文件格式,其中包括SYS、DLL、EXE、COM、OCX等。(不管是学习逆向、破解还是安全,了解PE文件格式都是非常必要的。) PE文件的第一个部分是IMAGE原创 2013-03-29 16:51:52 · 10385 阅读 · 0 评论 -
获取屏幕显示
CDC* pDeskDC = GetDesktopWindow()->GetDC();//获取桌面画布对象CRect rc;GetDesktopWindow()->GetClientRect(rc);//获取屏幕的客户区域int width = 567;//获取屏幕的宽度int height = 452;//获取屏幕的高度CDC mem原创 2013-03-11 10:52:23 · 1386 阅读 · 1 评论 -
函数模板与同名的非模板函数重载的时候,两者调用顺序
函数模板与同名的非模板函数重载时候,调用顺序:寻找一个参数完全匹配的函数,如果找到了就调用它寻找一个函数模板,将其实例化,产生一个匹配的模板函数,若找到了,就调用它若1,2都失败,再试一试低一级的对函数的重载方法,例如通过类型转换可产生参数匹配等,若找到了,就调用它若1,2,3均未找到匹配的函数,则是一个错误的调用原创 2013-01-22 16:27:36 · 4851 阅读 · 0 评论 -
BITMAPINFO结构详解
BITMAPINFO结构定义了Windows设备无关位图(DIB)的度量和颜色信息typedef struct tagBITMAPINFO { // bmi BITMAPINFOHEADER bmiHeader; //指定了一个BITMAPINFOHEADER结构,包含了有关设备相关位图的度量和颜色格式的信息 RGBQUAD bmiColors[1]; /原创 2013-01-24 12:08:06 · 19673 阅读 · 0 评论