VC++
文章平均质量分 54
likexin
没什么特点哦
展开
-
VC中结构体内存分配问题透析
VC中结构体内存分配问题透析 在一次面试中,遇到了VC中处理结构体的问题,由于平时没留意,没有回答出来,感觉很不爽。回来后,认真分析了下,查了些资料,终于找到原因,故以本文给出解答。 本文首先提出了处理VC++中结构体时应注意的一个问题,然后详细分析了存在该问题的原因,最后做实战训练。 注意: (1)在VC下,下面各类型占字节数为:ch转载 2007-02-10 14:30:00 · 968 阅读 · 0 评论 -
通过汇编角度理解虚函数!
今天通过汇编角度在次理解一下虚函数.工作环境VC6方法DEBUG 跟踪MEMORY测试程序代码 虽然是测试程序但希望大家还是养成良好习惯 不要污染命名空间测试代码:#include "iostream"using std::cout;using std::endl;class a{ int m_a;public: a(int x):m_a(x) {} virtua原创 2007-07-10 02:55:00 · 3566 阅读 · 5 评论 -
VC之美化界面篇
白乔原创:VC之美化界面篇转载地址:http://www.vcer.net/showTip.jsp?tipid=1046595482643本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文原创 2007-04-22 22:31:00 · 1494 阅读 · 0 评论 -
项目心得-驯服古怪的PROFILE!
转贴请注明出处!今天是工作的第2天,项管第一天就让我接触PROFILE 测试一个程序,来得知各个函数的执行次数和时间.我曾经在看书的时候对这种测试程序有一些了解, 知道它是为了了解程序的性能屏障,并针对他们进行优化.昨天做了一天却没有一点收获,到了家自己写了个简单的测试程序.并对工程进行设置.网上没有太多的PROFILE使用的文章,太多太多的转载让我失望而且无奈.于是自己终于通过努力在昨天原创 2007-08-02 23:33:00 · 1420 阅读 · 1 评论 -
vc生成ASM文件的方法!
Project->Setting->C/C++->Category->Listing Files->lISTING file type:选No Listing以外的即可原创 2007-05-19 21:09:00 · 3701 阅读 · 0 评论 -
mfc消息映射防真!
最近在学习MFC底层,通过看书受到启发,决定抛开书自己来独立写一下主要核心代码!先定义一个MYMSGSTRUCT消息结构体和一个MYMSG宏. struct mymsgstruct...{UNIT mymeesage;LONG (*ptr)( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam );}原创 2007-06-11 04:25:00 · 971 阅读 · 0 评论 -
总结一下我所掌握的虚函数和多态 (望高手指点!)
C++也学了一段时间了,C++比较让人混乱的除了复杂的标准库和算法.基础部分里大概应该属指针 引用和函数传参的问题了,对于这些头疼的问题,我们只能多看 多写,多练,没有更好的办法. C++的多态性就和这些因素有所关系.今天我来说说自己所掌握的关于多态的知识!我假设现在的你已经了解C++基于对象的部分,也就是你会写一个类,明白类所产生的对象中包含的是他的数据成员(无虚函数的时候).而类的成员原创 2007-06-11 22:30:00 · 1047 阅读 · 0 评论 -
VC编写DLL几种方法的简介.
可欣动态连接库最大的特点就是能节省磁盘空间.当多个进程共享同一个DLL的时候,内存中只有一个DLL的代码.通过映射来使各个进程得以调用.1.用VC建立一个WIN32 DLL我们利用VC编写DLL有几种方法.如果用VC建立一个WIN32 DLL 工程.那这个工程就应该只导出C++的类或全局变量.和全局函数.方法就是在CPP文件中编写你的代码,为每个需要导出的元素进行导出办法是增加如下语句原创 2007-09-25 01:07:00 · 3964 阅读 · 0 评论 -
让你动态创建的控件响应消息!
今天项目做到一半,发现代码已经很多了,总想着能不能在某些地方省略一些.于是发现到自己从控件派生出的几个类.我用他们动态创建出DIALOG中的元素.这样做是很麻烦,但没办法,因为希望自己的作品能够更出色,于是就这么做了.因为我实在没有找到一个更好的解决办法,也许是有,只是我不会.但随之而来的并不是定义时参数的烦琐,而是想要获取他们自己的通知时间.例如从CLISTCTRL中派生的空间,想要响应它自原创 2007-10-05 09:21:00 · 1474 阅读 · 0 评论 -
今天解决了的一个DEBUG运行正常RELEASE出错的问题!
今天正在做一个项目,进展顺利,但是编译成RELEASE版本运行却发现错误.自己弄了半天也没搞定.但最后还是看了一篇文章解决了.主要原因是因为DEBUG和RELEASE在解决函数掉用上的方式的不同.DEBUG是通过EBP来间接实现的.就象这样EBP+2 EBP+4 但在RELEASE下优化会省略 EBP 栈基址指针,这样通过一个全局指针访问栈.这样如果调用和实现方式不同就会使返回地址产生错误.比原创 2007-10-02 16:03:00 · 28284 阅读 · 2 评论 -
对自定义的C++内存管理的一些总结!
说到内存管理就一定是与堆内存所联系,我们知道,自动变量是由栈来实现的,而堆内存是由程序员来控制管理的.当我们有这样一段代码:void * p=new TYPE NAME(constructor);我们就申请了一块内存.这块内存对于程序员只是透明的一个占有sizeof(TYPENAME)大小的内存块.并在该内存上构造了这个类型的对象. 如果使用placement new实现原理也原创 2007-07-16 16:13:00 · 1580 阅读 · 0 评论 -
深入分析异常机制!
我们知道C++和C最大的不同就是它更好的支持面向对象程序设计,封装,多态,继承,异常,命名空间.通用型编程等等.对于面向机制为什么说是更好的支持哪.是因为用C同样可以编写面向对象程序设计.我们都知道C函数可以通过结构体和函数指针来设计一些低级的类.但C++提供的CLASS则更好的维护了数据的隐藏.而不是想C那样任何数据都要通过函数来操作.C++是通过数据和方法的封装来实现对数据的操作.至原创 2007-07-18 07:46:00 · 1037 阅读 · 0 评论 -
终于通过测试搞明白operator delete了!
最近写了一个简单的学生管理系统的类 在内存管理的地方遇到了点麻烦,现在解决了,对operator delete有了更深入的了解!先看一下代码.头文件#ifndef KEXIN#define KEXIN#include #include #endifnamespace mystd{ class cstudent { private: char * pname;原创 2007-07-06 21:14:00 · 4431 阅读 · 0 评论 -
VC入门的一些个人想法
说起VISUAL C++很多编程爱好者都很希望能熟练的使用它,我也一样,我学完C++后也信心百倍的加入到学习VC的行列中.但一开始学真的是无从下手,我看了孙鑫老师的视频时,真的越看越没信心. 现在想起来都不知道自己是怎么入门的?其实,还是很感谢孙鑫老师的.我都是通过他的视频一步一步走下来的,当然我现在也只是一个菜鸟! 孙老师视频的第一章我看了好几遍,慢慢发现W原创 2007-02-19 19:36:00 · 1070 阅读 · 0 评论 -
原码、反码、补码
原码、反码、补码 相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。 数值在计算机中表示形式为转载 2007-02-21 19:13:00 · 1201 阅读 · 0 评论 -
数据在内存中始终是以二进制形式存放的。数值是以补码表示的
基本类型其中还包括-整型,实型,枚举类型!数据在内存中始终是以二进制形式存放的。数值是以补码表示的。 整型: 一个正数的补码和其原码的形式相同。而负数的补码方式是将其绝对值的二进制形式“按位求反再加1” 实型: 在内存中占4个字节,是按照指数形式存储的,实型数据分为小数部分和指数部分,分别存放!计算机用二进制表示小数部分,用2的幂次来表示指数部分! 字符型: 在内存中字符的存储实际上是把字符相对应转载 2007-02-21 19:22:00 · 10060 阅读 · 0 评论 -
自己总结C/C++的一些容易被遗忘的基础知识!
C/C++的短路求值。逻辑与和逻辑或操作符总是先计算其左操作数。然后计算其右操作数,只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解其右操作数,如果左操作数的结果可以确定该逻辑表达式的值。则不在计算右操作数。VC中结构体/类的内存分配拿结构体来说如果定义了一个如下结构体:struct a{ int i; double d; char c;};很多人会认为他所占内存原创 2007-03-05 22:55:00 · 1376 阅读 · 0 评论 -
从语句 char* p="test" 说起
从语句 char* p="test" 说起 我相信,使用C/C++多年的人对下面这个字符串赋值语句都不会陌生吧。 char* p = "test"; 同时,我也相信,各位在使用这种语句后吃过很多苦头也不少吧?只要你想利用指针p来改变字符串的内容,你的程序都会得到一个让你颜面尽失一个内存非法操作。比如,下面的这些语句:转载 2007-03-18 13:12:00 · 787 阅读 · 0 评论 -
C++ 虚函数 多态
C++ 虚函数 多态 1、什么是虚函数和多态虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。通常此类指针或引用都声明为基类的,它可以指向基类或派生类的对象。多态指同一个方法根据其所属的不同对象可以有不同的行为(根据自己理解,不知这么说是否严谨)。举个例转载 2007-03-18 13:09:00 · 993 阅读 · 4 评论 -
CString 操作指南
CString 操作指南 原文出处:codeproject:CString Management通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,转载 2007-03-23 16:47:00 · 961 阅读 · 0 评论 -
MFC函数速查大全
MFC函数书本速查+API函数大全 [ 日期:2006-08-16 ] [ 来自:本站原创 ] 基础类 CObject AssertValid p3 Dump p3 IsSerializable p4 Serializable p4 GetRuntimeClass p4 IsKindOf p5 CCmdTarget FromIDispatch p5 GetIDispatch p6 IsRe原创 2007-03-29 00:50:00 · 11825 阅读 · 6 评论 -
深入了解"地址对齐"!
我们在程序设计时例如VC的结构体中都接触到了地址对齐这个概念, 我的BLOG中已经把一篇很不错的文章转贴到我这里了,大家有兴趣可以看看,在这里就不多说了. 现在用存储单元的角度来说明一下他的原因. 一块存储空间的起始地址假设为000000H,我们应该知道存储单元以字节为单位,就是说有8位.一个字很容易就应该知道是2字节,双字就是4字节,假如我门要存储1字节的原创 2007-04-04 00:46:00 · 1794 阅读 · 0 评论 -
在对自定义消息进一步学习!
前几天遇到一个DEBUG运行正常,REALESE出错的情况,写了篇BLOG,感觉自己都懂了,今天在项目中还是自定义消息,居然又出错了。今天再次搞定,并加深了对其的认识。这次出错是想响应一个自己动态创建的CLISTCTRL的ITEMCHANGED消息。自己写了消息影射,DEBUG运行完全正确。当我晚上在REALESE上运行的时候发现错误。想都没想,一定还是原型的错误。其实原型所带的参数CSDN原创 2007-10-08 05:10:00 · 898 阅读 · 0 评论