Xiangism

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。
  博客园  :: 首页  :: 联系 :: 管理

随笔分类 -  C/C++

通用的C/C++知识点
摘要:qt是一个c++的界面库,其特点就是其源码可以跨平台编译,这样在写自己的小工具时可以方便地在windows,mac或linux环境下移植了。在windows下写c++程序当然选vs,在mac下写程序当然用xcode,在linux下就完全控制台吧。本人仅仅将其看成是一个c++的库,所以不想学习新的的I... 阅读全文

posted @ 2015-07-04 18:49 Xiangism 阅读(13968) 评论(4) 推荐(4) 编辑

摘要:Visual Assist是VC的一个强大的助手。特别值得一提的是其intellisense功能(即代码提示功能),弥补了VS对C++支持不足的弱点,可以极大地提高我们编码的效率。可使用一段时间后,当我们对某些类、或者文件名、类库名进行更改后,会发现VA的intellisense没有及时更新。于是怎么设置下,让VA主动更新intellisense的数据库。前段时间在网上找了下,没有找到资料。今天忽然想到了VA有Options选项,说不定其中会有。于是点开,发现,如下:Rebuild 重建符号数据库~~重启VS,成功 阅读全文

posted @ 2012-11-29 20:42 Xiangism 阅读(534) 评论(0) 推荐(0) 编辑

摘要:因为工作关系,需要在C++中调用C#所写的webservice,在博客园中搜索可以发现很多关于gSoap的学习笔记,但自己还是想再写一篇。特定于自己的版本和使用环境。客户端在windows环境下,使用gSoap2.8.11和VS2008。webservice的服务器用c#实现。服务器端的实现省略不谈~~先用浏览器打开webservice的网页点击“服务说明”,可以查看到这个ws的"wsdl"文件,将其复制保存到文本文件中(下面会使用到)。下载gSoap2.8.11版后,解压,在命令行中进入 gsoap-2.8/gsoap/bin/win32/ ,会发现有两个文件" 阅读全文

posted @ 2012-11-14 17:05 Xiangism 阅读(2407) 评论(4) 推荐(0) 编辑

摘要:本人在工作上使用C/C++一年多的时间了,对C++的内存泄漏有着一些自己的见解。在MFC debug模式下,如果用new申请出来的内存没有释放,最后VS在“输出”窗口中会提示有内存泄漏,并且会告诉内存泄漏的地址和大小。如果在单个的EXE文件可以用鼠标点击这个信息直接定位到引起内存泄漏的变量上;而如果是调用的DLL中出现了内存泄漏则无法用这种方式定位错误代码。这里介绍一种方式:在内存泄漏的提示信息中会给出其地址,而第二次运行程序时,一般来说变量的地址不会改变,所有这时,可以设断点,察看哪个变量的地址与提示信息中的一样,即可找出内存泄漏。而防止因new引起的内存泄漏的最好方式,是用boost的sh 阅读全文

posted @ 2012-10-26 12:55 Xiangism 阅读(352) 评论(0) 推荐(0) 编辑

摘要:由于本人前段时间一直在进行图像处理的研究,大家都知道图像是二维的,故在程序中经常会有二维数组的使用,而在C++中是用二维指针T** value来表示二维数组。如果直接使用T** value就会在程序中经常出现二重for循环分配内存、二重for循环释放内存的代码——非常的无趣,非常的容易出错。(C++ 阅读全文

posted @ 2012-08-31 11:31 Xiangism 阅读(2262) 评论(4) 推荐(1) 编辑

摘要:以前本人用C#制作过一些小游戏的外挂,其中一步最重要的原理是截取电脑的屏幕,然后分析关键像素点的信息。现在用C++重用这些程序时,在截屏上遇到一些问题,现在终于解决了,贴出自己整理后的代码。分为win32代码和MFC代码,如下 1 void Test_captrueScreenwin32() 2 { 3 HDC hDesktopDc=CreateDC(_T("DISPLAY"), NULL, NULL, NULL); 4 int width=GetDeviceCaps(hDesktopDc,HORZRES); 5 int height=GetDeviceCaps(hDe.. 阅读全文

posted @ 2012-06-21 16:10 Xiangism 阅读(10853) 评论(3) 推荐(0) 编辑

摘要:写这篇文章总结C++指针的用法。在C++中最好不要用new/delete来使用指针,而应该用智能指针来管理资源,智能指针就属boost做得最好了。boost的源码和使用方法在网上随便一搜就可以找到,在此就不哆嗦了。下面进入正文——最后的指针1. delete , delete[]的区别 虽然要放弃... 阅读全文

posted @ 2011-07-18 21:25 Xiangism 阅读(727) 评论(0) 推荐(0) 编辑

摘要:写几个事例就可明白——一、画矩形CDC *pDC=GetDC();pDC->Rectangle(1,1,3,3); 说明,虽然后面两个参数指定(3,3)位置,但矩形只在(2,2)位置就结束了。二、画直线CDC *pDC=GetDC();pDC->MoveTo(1,1);pDC->LineTo(3,1); 同样,虽然指定(3,1)位置,但直线在(2,1)位置即结束三、画二条相连的直线CDC *pDC=GetDC();pDC->MoveTo(1,1);pDC->LineTo(3,1);pDC->LineTo(3,3); //在上面的基础上加一条代码 说明,和上面 阅读全文

posted @ 2011-07-18 15:32 Xiangism 阅读(257) 评论(0) 推荐(0) 编辑

摘要:本篇介绍如何分别在c#,MFC,WIN32程序中移动无标题窗口C# C#中总结起来有两种方法: 1.自己控制,鼠标左键点击、移动时窗体的状态,代码见下: Point offSet; privatevoid frm_MouseDown(object sender, MouseEven... 阅读全文

posted @ 2009-12-17 23:16 Xiangism 阅读(1979) 评论(1) 推荐(1) 编辑

摘要:笔者首先接触的是C#语言,然后再学的Win32、MFC。在转型的学习过程中,遇到了一些令人费解的问题。比如,一些系统级的功能,在C#中实现后,却花了好长一段时间才学会在Win32、MFC中实现。下面将整理一些常用功能在这三种环境下的实现方法在这篇中先介绍如何设置系统级热键:C# 第一步,先在类的级别中申明两个API函数,///注册热键[DllImport("user32.dll")]privatestaticexternboolRegisterHotKey(IntPtrhWnd,intid,uintfsModifiers,Keysvk);"user32.dll&q 阅读全文

posted @ 2009-12-13 20:14 Xiangism 阅读(710) 评论(1) 推荐(2) 编辑