C++
文章平均质量分 51
「已注销」
这个作者很懒,什么都没留下…
展开
-
How to handle exception in managed code and unmanaged code
As we known, try...catch mechanism is a quite common feature for the high level languages like java or C#. Although C++ proclaimed that it supports this mechanism, the memory management limitation of原创 2015-01-08 22:14:56 · 1223 阅读 · 0 评论 -
Lua 脚本的使用
<br />extern "C" {<br />#include "lua.h"<br />#include "lauxlib.h"<br />#include "lualib.h"<br />}<br /><br />#include "luna.h"<br />class Account <br />{<br />lua_Number m_balance; // double<br />public:<br />static const char className[]; // 类名原创 2010-09-19 19:21:00 · 1510 阅读 · 0 评论 -
C++ Virtual基础知识讲解
<br />Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Base的print函数。这是面向对象中的多态性的体现。中国自学编程网,www.zxbc.cn (关于虚转载 2010-09-19 10:38:00 · 634 阅读 · 0 评论 -
VC 预编译头的使用
<br />程序设计2008-10-23 16:05:47阅读56评论0 字号:大中小 订阅<br />转载自:黑水晶的专栏<br />如果预编译头文件被正确使用时,它确实大大提高我们编程的效率(你工作中,有多少时间是在等编译完成?很多吧,这个时候一般都很无聊,无奈,浪费时间)。但是他太容易用错了. 下面是几种常见的错误用法.<br />1) 在预编译头文件里include自己的头文件(当然, 如果你的头文件不经常变化, 也可以)<br />原因:自己的头文件一般会经常变, 便利后导致预编译的东东重新编译转载 2010-09-04 13:43:00 · 810 阅读 · 0 评论 -
C4652的解决
<br />很简单,Rebuild All 呵呵原创 2010-09-10 10:37:00 · 884 阅读 · 0 评论 -
C++ double 类型范围为什么那么大
<br />书上说是1.7乘以10的308次方,为什么会这么大?64位能表示的最大不应该是2^64吗? 它表示大数的代价就是损失了精度.打个比方,我有0-9这10个数,我定义数n表示5n,那么这10个数最大能表示45,但41,42这些不是5的倍数的数就没法精确表示了,只能在定义中把它们靠向40或者45.这就是为了扩大表示范围而损失了表示精度. <br /> <br /> <br />原创 2010-08-15 14:31:00 · 2597 阅读 · 0 评论 -
等宽字体
<br />等宽字体 等宽字体(Monospaced Font)是指字元宽度相同的电脑字体。与此相对,字元宽度不尽相同的电脑字体称为比例字体。 <br /> 在传统西文印刷中,比例字体可以提高单词的可读性。但因早期的电脑画面显示、打字机,由于技术的局限,无法进行字母宽度的比例调整,因此将每个字元都制作成一样的宽度,从而形成了等宽字体。在等宽字体中,字母i,j显得两侧馀白较多,而字母w,m等的笔画显得相当拥挤。 <br /> 但是随着图形用户界面主流的更新和电脑技术的提高,处理比例字体的局限性得到了突破转载 2010-06-20 19:34:00 · 5510 阅读 · 0 评论 -
wxWidgets降低闪烁
<br />问题:从wxScrolledWindow派生一个类CXCanvas,作为绘图的画布。画布的尺寸可能非常大,远远超出屏幕的大小,绘制的内容可能非常多,全部绘制一遍非常耗时,当滚动条滚动时,覆盖对话框移动时,以及窗口尺寸变换时要让窗口更新竟可能的快,并且要减少闪烁。- _3 L( ^. U" J<br /><br />2 N5 S& /: _9 f& r- X+ ]2 m分析:这个问题涉及到滚动窗口中的绘制,部分更新和减少闪烁。<br /># w9 o8 K0 d7 `8 H; a: O( ]+ Y原创 2010-06-12 03:29:00 · 3028 阅读 · 1 评论 -
wx.ScrolledWindow
wx.ScrolledWindow(2008-04-10 22:07:48)转载标签:wxpythonit分类:Python wx.ScrolledWindow可以实现一个带有纵向和(或)横向滚动条的容器,它的继承关系如下图: 设置client area大小:SetVirtualSize( self, wx.Size size ) #这个方法是从wx.Window继承来的,用来设置窗口可视面积的大小,单位是像素。 设置滚动条的滚动增量:SetScrollRate( self, xstep, ystep )转载 2010-06-11 17:55:00 · 5534 阅读 · 0 评论 -
wxWidgets滚动窗口绘图总结
<br />问题:从wxScrolledWindow派生一个类CXCanvas,作为绘图的画布。画布的尺寸可能非常大,远远超出屏幕的大小,绘制的内容可能非常多,全部绘制一遍非常耗时,当滚动条滚动时,覆盖对话框移动时,以及窗口尺寸变换时要让窗口更新竟可能的快,并且要减少闪烁。- _3 L( ^. U" J<br /><br />2 N5 S& /: _9 f& r- X+ ]2 m分析:这个问题涉及到滚动窗口中的绘制,部分更新和减少闪烁。<br /># w9 o8 K0 d7 `8 H; a: O( ]+ Y转载 2010-06-11 17:50:00 · 1228 阅读 · 0 评论 -
wxWidgets Avoid flicker
Flicker-Free DrawingFrom WxWikiJump to: navigation, searchContents [hide]1 Flicker-free drawing 1.1 More Detail 1.2 Controling "CONTROL" flickering 1.3 More information about flicker and MSW 1.4 If you still have problems 1.5 No-flickerin转载 2010-06-12 04:44:00 · 2556 阅读 · 0 评论 -
vs2008 错误信息 fatal error CVT1100
<br />今天遇到VS2008在debug版本下build失败,错误信息如下:<br />1>Linking...<br />1>CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409<br />1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt<br />解决转载 2010-06-07 17:19:00 · 1994 阅读 · 0 评论 -
hook
Hook解释 Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会受到系统的通知,这时程序就能在第一时间对该事件做出响应。 另一解释: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许转载 2010-06-05 12:36:00 · 784 阅读 · 0 评论 -
直接内存访问指针
<br />运行中就直接读内存撒。<br />直接看代码:<br /> HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,processid);<br /> //processid 为进程PID<br /> //获取PID方法很多,可以通过任务管理器查看...<br /> //可以用枚举进程方式取得,或者获取窗口再获取进程ID等...<br />if(!processH)<br />{<br />return;//打开进程失败,返回<br原创 2010-06-04 00:40:00 · 713 阅读 · 0 评论 -
QA
<br />C++部分:<br />1、一个类对象,有一个char成员,char*成员,int成员,两个成员函数,另外一个虚函数,问sizeof多少?<br />2、多继承使用成员函数时需要注意?避免虚函数调用二义性的方式列举2种。<br />3、如果new内存时,失败会出现何种情况?<br />4、delete时需要注意事项?delete数组时不用[]是否可以? 一个指针为NULL,可否进行delete?<br />5、构造函数和析构函数是否可以是虚函数?如果可以,说明何种情况下使用?<br />6、一段转载 2010-06-04 00:38:00 · 583 阅读 · 0 评论 -
编译错误:constructors not allowed a return type
<br />今天用VC6编程时,出现错误:<br />error C2533: 'WumpusWorld::WumpusWorld' : constructors not allowed a return type<br />程序并没有返回值,构造函数嘛,<br />上网一查,方有一位仁兄和我同样境遇,原来是<br />头文件中类声明的时候,没有在类结尾加上";"<br /><br />这个错误提示定位也太风马牛不相及了.转载 2010-06-02 15:38:00 · 1352 阅读 · 0 评论 -
#pragma
[编辑本段]指令详解<br /> #pragma 预处理指令详解 <br /> 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 [编辑本段]格式与参数<br /> 其格式一般为: #Pragma Para <br /> 其中Para 为参数,转载 2010-06-02 13:10:00 · 476 阅读 · 0 评论 -
WSAStartup
<br />WSAStartup简介<br /> WSAStarup,即WSA(Windows SocKNDs Asynchronous,Windows套接字异步)的启动命令。是Windows下的网络编程接口软件 Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口)。 详细说明<br /> 为了在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成转载 2010-09-21 10:04:00 · 1152 阅读 · 0 评论 -
int and long
<br />int和long作为基本的整数类型,取值范围和位数直接相关。如果是n位整数的话,最高位表示符号位,剩下的n-1位以补码形式表示绝对值,因此范围是整数区间[-2^(n-1),2^(n-1))。<br />int和long并没有明确位数,具体和平台相关(有一点可以确定,sizeof(int)<=sizeof(long))。一般而言,32位机的int是32位的,于是范围是[-2^31, 2^31)也就是[-2147483648, -2147483648)。而非int的位数取决于机器字长外还决定于软件平原创 2010-10-13 16:07:00 · 875 阅读 · 0 评论 -
在vs2010下编译OpenSSL
Building OpenSSL for Visual StudioPosted on June 20, 2012 by 3noch • 3 CommentsBuilding OpenSSL for Visual Studio on Windows is mostly straight-forward, but it has some quirks. I’ll docu转载 2013-10-03 21:28:27 · 1701 阅读 · 0 评论 -
Staring at a blank desktop, due to event 4006
The event is [The Windows log on process has failed to spawn a user application. Application name], when we use win2012 64bit, event the non administrator user already in the administrator group, winl原创 2013-07-29 09:17:01 · 1051 阅读 · 0 评论 -
string^的转化
http://msdn.microsoft.com/en-us/library/bb384865.aspx转载 2013-07-09 17:55:34 · 792 阅读 · 0 评论 -
delete static object
If the data is static, it isn't allocated on the heap, and it will be destructed during the shutdown of the process.If it is a pointer to the data which is static, e.g.:Something* MyClass::aPointer转载 2013-07-09 16:44:23 · 837 阅读 · 0 评论 -
st_mode
st_mode的剖析最近在写code时,需要频繁使用到stat函数,为了更好的容错和log,就需要利用好st_mode。ok, 先看一下struct stat的结构。struct stat {dev_t st_dev; /* device */ino_t st_ino; /* inode */mode_t st_mode转载 2013-06-05 12:19:49 · 2017 阅读 · 2 评论 -
windows 计算目录大小
void DirectoryInfo::CalculateSize(std::string _path) { WIN32_FIND_DATAA data; HANDLE sh = NULL; sh = FindFirstFileA((_path+"\\*").c_str(), &data); if (sh == INVALID_HANDLE_VALUE ) { return;原创 2013-05-28 11:54:00 · 1153 阅读 · 0 评论 -
char*转换为string^
Hi,Use String^ strNew = gcnew String(charStriing);//Here charString is ur char*That's it.原创 2013-05-09 15:12:38 · 1040 阅读 · 0 评论 -
string 转char*
In your sample let 'p' point to the address of the first char of string 'l':Code:string l="Pranav"; char *p; p=&l[0];As you can see it is possible, however, you have to be carful with this a原创 2013-05-03 14:48:09 · 690 阅读 · 0 评论 -
标准c判断目录是否存在
#include // For access(). #include // For stat(). #include // For stat(). #include #include using namespace std; string strPath; cout > strPath; if ( access( strPath.c_str(), 0 ) == 0 ) { struc原创 2013-05-03 11:47:00 · 883 阅读 · 0 评论 -
Let EXE call Dll source in VS2010 (VS2010Dll调试方法)
Let EXE call Dll source in VS2010 (VS2010Dll调试方法) It is easy. Select the EXE project in thesolution, Just by project->reference menu, Add a new reference to the DLL project, the‘Copy lo原创 2013-04-07 13:00:43 · 1013 阅读 · 0 评论 -
visual studio 2010 之三 独立MSDN安装完全教程(还原原来的msdn面孔)
微软在VS2010中将随机文档MSDN Library换成了Web版,想必有他的考虑,但就我这一普通用户看来,实在是一个退步。 网上的各种各样的解决办法很多,这里,根据我的经验,总结如下(要想安装成功。请耐心): 1. 当第一次运行Manage Help Settings程序时,会指示你选择安装文件夹,以后,不会再问。如果您第一就选择了本地保存的话,选好本地储存位置,然转载 2013-03-17 13:15:16 · 1008 阅读 · 0 评论 -
sealed(C#中的修饰符)
sealed(C#中的修饰符)<br /> 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。 <br /> 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。 <br /> class A {} <br /> sealed class B : A {} <br /> 还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。这将使您能够允许类从您的类继承,并防止它们重写特定的虚方法或虚属性。 <br /> 在下面的示例中,C 从 B转载 2010-11-15 10:52:00 · 854 阅读 · 0 评论 -
正则表达式语言元素
正则表达式语言元素.NET Framework 4 其他版本 Visual Studio 2008 Visual Studio 2005 此内容为质量更高的人工翻译。若想同时查看此页面和原始英文页面的内容,请单击“首选项”然后选择“经典视图”作为您的查看首选项。正则表达式是正则表达式引擎尝试匹配输入文本的一种模式。 模式由一个或多个字符文本、运算符或构造组成。 有关简单介绍,请参见 .NET Framework 正则表达式。 此快速参考中的每一节都列出了可用于定义正则表达式的字符、运算转载 2010-11-13 19:10:00 · 845 阅读 · 0 评论 -
Structure 和Class的比较
<br /><br />平时不注意,今天在网上看到这个标题,感觉自己也是搞不清楚,索性拿来学习了,不过他说的是C#中的区别,自己又找了找其他语言的区别,感觉面向对象语言中,两者的区别大同小异~下面要是有说的不对的地方,请多多指点,因为有些纯属自己的观点而已~嘿嘿<br />区别:<br />结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。<br />1.结构的构造函数和类的构造函数不同。<br />原创 2010-11-13 17:42:00 · 3661 阅读 · 0 评论 -
Source Insight 使用技巧
<br />开胃菜-初级应用 选择美丽的界面享受工作 字体选择<br />在SI中样式是可以被继承,如果要从根本上改变字体,最简单的方式就是直接修改根样式中的字体,因为其它样式都会由此继承而来。选择Options/Document Options页面内的Font Options中的Screen Fonts字体,即可改变根样式中的字体。SI中的默认配置为Verdana字体,是一种非等宽字体,为了使编写的代码在各种编辑器中看起来都有良好的对齐效果,这里强烈建议使用等宽字体,Courier、New Couri转载 2010-10-27 09:45:00 · 2065 阅读 · 0 评论 -
关于OnTimer
<br />OnTimer()只是说定时触发,并不说它是“后台处理”,它仍会阻塞UI线程的;<br />OnTimer并不是后台线程,它同UI一个线程,所以如果占用UI线程时间过长会阻碍界面过程.<br />WM_TIMER的优先级比较低,对于要求实时更新的程序不适合,线程的优先级比较高,但是消耗的资源也多一些<br />(OnTimer)的实现是否属于多线程技术? 楼主yangchengl(爱在今生)2006-05-01 10:17:31 在 VC/MFC / 基础类 提问<br />请解释一下,谢谢!原创 2010-10-13 19:01:00 · 4589 阅读 · 0 评论 -
关于内联函数的编译
<br />如果使用函数内联,必须:<br />在包括的头文件中实现内联函数。<br />在头文件中展开内联。<br />如果项目使用函数内联,但在 .cpp 文件(而非头文件)中定义函数,会得到 LNK2019。头文件包含在任何被认为合适的位置,但只有在 .cpp 文件通过编译器时函数才内联;<br />因此当函数用于其他模块时,链接器将函数看成无法解析的外部对象。<br /> <br />所以内联函数最好写在.h文件里。原创 2010-06-02 23:10:00 · 1212 阅读 · 0 评论 -
指针强转注意的问题
如果被转类型里面有虚函数,强转的指针是不能Call这个虚函数的。即便这个虚函数有实现,也会被认为是地址是0的函数。不是强转的指针就没有这个现象。详细说明如下:例如有下面两个类,他们之间是继承关系。class DSP_MeasurementsDlg :public wxDialog{public: DSP_MeasurementsDlg( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Mea原创 2010-07-26 23:00:00 · 1355 阅读 · 0 评论 -
VC按钮加上图片方法
第一种:Button属性页里Style的Bitmap点上CBitmap Bitmap;Bitmap.LoadBitmap(IDB_BITMAP1);HBITMAP hBitmap=(HBITMAP)Bitmap.Detach();CButton *pButton=(CButton*)GetDlgItem(IDCANCEL);pButton->SetBitmap(hBitma转载 2009-12-28 12:18:00 · 993 阅读 · 0 评论 -
clistctrl 显示图片,详细步骤
//初始化对话框中,选择多个文件 m_ImageList.Create(16,16,ILC_COLOR24,0,1); //创建图示 m_list.SetImageList(&m_ImageList,LVSIL_SMALL); //与列表控件相关连 m_list.SetExtendedStyle(m_list.GetExtendedStyle()| LVS_EX_GRIDLI转载 2009-12-11 12:19:00 · 3806 阅读 · 1 评论 -
CArray的使用
C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。 MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。CArray是从CObject派生,有两个模板参数,第一个参数就是CArray类数组元素的变量类型,后一个是函数调用时的参数类型。有一个转载 2010-01-29 14:58:00 · 623 阅读 · 0 评论