摘要: 美化VC界面(用户登录界面)源代码:下载 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了。一句俗语:难者不会,会者不难。VC的美化界面编程并没有人们想像的那么难。这篇文章是我写的一个用户登录界面,但界面被我美化了,我将一步一步的来讲解它的美化界面的实现步骤。相信有了这篇文章,你的VC界面从此也能绚丽多彩。实现步骤:第一步:美化界面的非客户区(重绘标题栏和界面边框)。关键代码如下:// 函 数 名:DrawTitleBar// 功能描述:绘制标题栏、边框颜色,绘制标题内容、图标和按钮// 输入参数:pDC:设备指针// 输出参数:void//. 阅读全文
posted @ 2013-03-24 16:55 DageKing 阅读(1681) 评论(1) 推荐(3) 编辑
摘要: 系统要关闭,可我程序还有事要处理?问题1描述: 运行了一个客户端程序,服务端表明客户端在线,突然运行客户端程序的电脑关机了,但服务端并不知道客户端下线了,服务端的状态并不能及时更新为下线.解决方法: 通过截获系统的关闭消息,在系统关闭前对程序进行必要的处理. 系统在关闭(关机/重启/注销)之前会向每个当前正在运行的应用程序发送WM_QUERYENDSESSION消息,询问系统能否关闭,系统再向应用程序发送WM_ENDSESSION消息,根据WM_QUERYENDSESSION消息的返回结果,从而通知应用程序是否已经结束. 所以我们可以截获:WM_QUERYENDSESSION消息,在此... 阅读全文
posted @ 2013-03-24 16:43 DageKing 阅读(300) 评论(0) 推荐(0) 编辑
摘要: VC++6.0 自定义按钮,无标题对话框的拖动方法自定义按钮 首先创建一个基于CButton的CCustomButton类 添加该类的虚函数DrawItem代码如下:void CCustomButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ // TODO: Add your code to draw the specified item CRect rect; GetClientRect(rect); CDC dc; dc.Attach(lpDrawItemStruct->hDC); int x,y,r; ... 阅读全文
posted @ 2013-03-24 16:17 DageKing 阅读(739) 评论(0) 推荐(0) 编辑
摘要: MFC、SDK和API有什么区别MFC Microsoft Foundation Class 微软函数类库SDK (Software Development Kit,软件开发包) 软件开发包通常是一系列API函数,而MFC 是由微软公司提供的对API封装后的类库,因此从这个意义上可以说MFC是SDK的封装。另外,mfc中封装了一套消息处理流程,将sdk中API全部做了封装,使得开发起来速度加快,而sdk是最底层的函数库,mfc对它进行了封装。 用VC编写Windows程序有两种:1. Windwos c方式(SDK),2.C++方式:即对SDK函数进行包装,如VC的MFC,BCB的OWL等.. 阅读全文
posted @ 2013-03-24 16:05 DageKing 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 数据库文档CHM生成器(附源代码)背景: 在做项目的时候,当时的数据库文档是txt格式,后来晋升为doc格式。在开发过程中,依旧觉得不方便。后来用动软生成器,发现它可以生成html和doc格式的数据库文档,html用起来相对轻松些。有一天突发奇想,若是弄成CHM文档就好了。期间用过CHM工具一段时间。人是难以满足的,懒惰是永无止尽的。后来嫌弃操作太反锁,在博客园上一位牛人博客中学习了CHM编程。此后一直以代码的方式生成CHM文档。 现在我将它做成了一个相对通用的工具,支持SQL2005及以上,Oracle。易拓展,方便有需要的朋友。资源下载: 文档生成器 示例文档预览 源代码软件及文... 阅读全文
posted @ 2013-03-22 14:46 DageKing 阅读(610) 评论(1) 推荐(0) 编辑
摘要: VC++开发垃圾文件清理软件(下) 转自:http://www.cnblogs.com/JczmDeveloper/archive/2013/03/22/2974716.html1.绘制对话框的背景位图 绘制对话框背景位图本文采用的是处理对话框的WM_PAINT消息,该消息初始化时候对对话框进行绘制,从而绘制背景位图。绘制背景位图的主要代码如下:CRect rect; CPaintDC dc(this); GetClientRect(&rect); //获取客户区 //设置对话框背景颜色 dc.FillSolidRect(rect,RGB(14,9... 阅读全文
posted @ 2013-03-22 14:36 DageKing 阅读(858) 评论(0) 推荐(2) 编辑
摘要: VC++开发垃圾文件清理软件(上) 转自:http://www.cnblogs.com/JczmDeveloper/archive/2013/03/22/2974716.html 去年年底那会写了个很简单的垃圾文件清理器,现在简要分享下吧,由于本人初学者,望大家多多指教,先上个图吧:(在各大搜索引擎可以直接搜索到本软件,软件的名称为:小蔡垃圾清理器,源代码在VC++开发垃圾文件清理软件(下)给出。)。 下面就是详细介绍开发这个小程序的大体方法和步骤吧。程序是基于VC++程序设计与开发为背景,着重分析了垃圾文件清理原理和对话框程序界面的设计与开发原理,首先简要介绍VC++程序设计开发的... 阅读全文
posted @ 2013-03-22 13:36 DageKing 阅读(854) 评论(0) 推荐(2) 编辑
摘要: 去掉右键多余显卡菜单 方法一: 怎么去掉右键多余菜单 ATI 或 NVIDIA Control Panel 显卡驱动是ATI的,怎么设置才能在我刷新的时候没有这个红色的图表,要不刷新时那个栏很粗,很不爽.我实在找不到在哪里设置 后来找到了这个 用REGSVR32命令卸载了ati的这个dll:在“运行 阅读全文
posted @ 2013-03-22 13:12 DageKing 阅读(585) 评论(0) 推荐(0) 编辑
摘要: sqlserver数据库出现置疑的解决办法先备份数据库,再用下面的办法:USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOALTER DATABASE Database_Name SET EMERGENCYGOsp_dboption 'Database_Name', 'single user', 'true'GODBCC CHECKDB('Database_Name','REPAIR_ALLOW_DATA_LOSS&# 阅读全文
posted @ 2013-03-22 13:05 DageKing 阅读(469) 评论(1) 推荐(0) 编辑
摘要: SQLSERVER中分发或合并代理中出现ID标识满阈值处理方法sp_adjustpublisheridentityrange @publication ='发布数据库名', @table_name = null,@table_owner= null[ @publication=] 'publication'在其中重新分配新标识范围的发布的名称。publication 的数据类型为 sysname,默认值为 NULL。 [ @table_name=] 'table_name'在其中重新分配新标识范围的表的名称。table_name 的数据类型为 s 阅读全文
posted @ 2013-03-22 13:04 DageKing 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 查询数据库中所有表名和表中所有字段名查询表中所有字段名:declare @s varchar(1000)select @s = isnull(@s+',', '') + [name] from syscolumns where id = object_id('表名')select @s--select name from sysobjects where type=1 and flags=0--select name from sysobjects where type='U'查询数据库中所有表名:select Name from 阅读全文
posted @ 2013-03-22 12:43 DageKing 阅读(466) 评论(0) 推荐(1) 编辑
摘要: 关闭数据执行保护 右击我的电脑-->属性-->高级-->启动和故障恢复-->设置-->编辑,在打开的boot.ini里面设置: 找到"/NoExecute"参数,将后面的默认的"OptIn"改为"OptOut"或者"AlwaysOff"就行了,改为"OptOut"是让所有程序都处于DEP的监控例外中,而改为"AlwaysOff"则是直接把DEP关闭掉了,两者都可以。然后保存boot.ini就行了,然后重新启动系统,检查EDP启动情况。Vista及 阅读全文
posted @ 2013-03-22 12:41 DageKing 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 删除开机启动项 运行regedit打开注册表,依次找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre... 阅读全文
posted @ 2013-03-22 12:30 DageKing 阅读(419) 评论(1) 推荐(0) 编辑
摘要: 自动登陆系统第一种方法 运行Regedit命令,打开注册表编辑器,在左侧窗格中依次定位到“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon”子键,在右侧窗格中找到“AutoAdminLogon”键值项... 阅读全文
posted @ 2013-03-22 12:27 DageKing 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 去掉自解压文件右键中的“用WinRAR打开”项▓ 教程目的:去掉你的自解压文件能用WinRAR打开的属性,让别人不知道你这个文件是自解压文件,要 求修改后自解压文件仍然可以正常运行,这样在我们捆绑的时候就能发挥很大的用处了。▓ 教程工具:C32asm▓ ▓ ▓ 方法: ╇══→方法1:你可以使用一些加壳软件进行处理一下,具体比较复杂,你可以自己找找相关 资料。我的理解是加的壳多了,就不能用Winrar打开了。 ╇══→方法2:把文件扩展名exe改成com就行了,右键就没这个菜单了,就是软件没图标了,但仍 然不影响使用 ╇══→方法3:先做好自解压程序,然后使用 C32asm 或者其它二进制编辑 阅读全文
posted @ 2013-03-17 20:34 DageKing 阅读(757) 评论(0) 推荐(0) 编辑
摘要: Linux下Socket的简单使用及最简化封装/** 文件功能: linux 下套接字简化操作函数* 文件名称: linux_socket.h* 建立时间: 2007 年 07 月 19 号* 创建作者: wlzqi* 使用语言:C或 C++ 语言* 使用环境: Linux + Windows* 函数要求:* + 函数相对比较底层* + 只使用系统API和C库,不能使用任何第三方库* + 不可以用全局变量* + 使用比较频繁* + 具有模块化(函数不要嵌套)* + 要有足够强壮性和高效* + 要经过一定强度的本地测试* + 尽量不使用动态分配内存(特殊情况可慎重添加)* + 所有变量必须字节对 阅读全文
posted @ 2013-03-17 20:23 DageKing 阅读(1390) 评论(1) 推荐(0) 编辑
摘要: 有关T-SQL的10个好习惯1. 在生产环境中不要出现Select * 这一点我想大家已经是比较熟知了,这样的错误相信会犯的人不会太多。但我这里还是要说一下。 不使用Select *的原因主要不是坊间所流传的将*解析成具体的列需要产生消耗,这点消耗在我看来完全可以忽略不计。更主要的原因来自以下两点:扩展方面的问题造成额外的书签查找或是由查找变为扫描 扩展方面的问题是当表中添加一个列时,Select *会把这一列也囊括进去,从而造成上面的第二种问题。 而额外的IO这点显而易见,当查找不需要的列时自然会产生不必要的IO,下面我们通过一个非常简单的例子来比较这两种差别,如图1所示。图1.*带... 阅读全文
posted @ 2013-03-17 10:44 DageKing 阅读(715) 评论(2) 推荐(2) 编辑
摘要: ODBC API编程如果一个ODBC API函数执行成功,则返回SQL_SUCCESS或SQL_SUCCESS_WITH_INFO,SQL_SUCCESS指示可通过诊断记录获取有关操作的详细信息,SQL_SUCCESS_WITH_INFO指示应用程序执行结果带有警告信息,可通过诊断记录获取详细信息。如果函数调用失败,返回码为SQL_ERROR。一般,编写ODBC程序主要有一下几个步骤:1、分配环境句柄:声明一个SQLHENV的变量,调用函数SQLAllocHandle。设置环境属性:完成环境分配后,用函数SQLSetEnvAttr设置环境属性,注册ODBC版本号。释放环境句柄:完成数据访问任务 阅读全文
posted @ 2013-03-16 20:28 DageKing 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 5.1了解ODBCAPIODBC是一种使用SQL的程序设计接口。使用ODBC让应用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大多数DBMS厂商们的广泛支持。ODBC是一种使用SQL的程序设计接口。使用ODBC让应用程序的编写者避免了与数据源相联的复杂性。这项技术目前已经得到了大多数DBMS厂商们的广泛支持。Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动器。这些标准数据格式包括有:SQL Server,Access,Paradox,dBase,FoxPro,Excel,Oracle以及Microsoft Text。如果用户 阅读全文
posted @ 2013-03-16 20:13 DageKing 阅读(540) 评论(0) 推荐(0) 编辑
摘要: ODBC api 的简单应用转自:http://www.cnblogs.com/NoSoul/archive/2012/09/16/2687336.htmlSQL:create database ckkc;create table users(name char(35) not null primary key,psw char(50) not null)create table op(id int not null primary key auto_increment,flag int not null,pname char(15) not null,num int not null)cre 阅读全文
posted @ 2013-03-14 20:42 DageKing 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 一个高效的分页存储过程 转自:http://www.cnblogs.com/malijie/archive/2013/03/07/2947902.html 最近在做一个几百万条数据的分页查询,研究了各种方案,在本机上用项目的实际数据库做测试,测试过程 is very 痛苦,不堪回首ing。现在废话不多说,直接上结果,相信这也是大多数搜索答案的人最愿意看的方式。 以下是存储过程的代码:CREATE PROCEDURE [dbo].[P_GridViewPager] ( @recordTotal INT OUTPUT, --输出记录总数 @viewN... 阅读全文
posted @ 2013-03-14 20:13 DageKing 阅读(635) 评论(7) 推荐(0) 编辑
摘要: 在C++中的ODBC API数据库编程一、动态加载数据源1、通过修改注册表加载数据源:·用户数据源:HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI·系统数据源:HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI对于不同类型的数据源,注册表的修改也不同,但基本上要修改两个地方,一个是在ODBC.INI子键下建立一个与数据源描述名同名的子键,并在该子键下建立与数据源配置相关的项;另一个是在\ODBC.INI\ODBCData Sources子键下建立一个新项以便告诉驱动程序管理器ODBC数据源的类型。2、通过OD 阅读全文
posted @ 2013-03-14 18:29 DageKing 阅读(2916) 评论(0) 推荐(0) 编辑
摘要: 几种经典的网络服务器架构模型的分析与比较前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。 关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文将不拘泥于源代码的陈列与分析,而侧重模型的介绍和比较。使用 libev 事件驱动库的服务器模型将给出实现代码。 本文涉及到线程 / 时间图例,只为表明线程在各个 IO ... 阅读全文
posted @ 2013-03-14 16:30 DageKing 阅读(580) 评论(0) 推荐(1) 编辑
摘要: VC 链接没有 lib 文件的 dll在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢?通常,在链接库文件时,需要一个 (.lib)文件,lib 文件分为两种:一种为静态链接库(StaticLibary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(ImportLibary,以下简称“导入库”)。VC 在链接 dll 时,需要根据导入库(.lib)来定位 dll 中的符号位置。没有这个文件,VC 链接器将不能正常链接。解决此问题的办法有三个:使用DLL to Lib 工具,根据 dll 文件生成 l 阅读全文
posted @ 2013-03-14 16:03 DageKing 阅读(798) 评论(0) 推荐(1) 编辑
摘要: C++ -> 在Window7 命令行下使用微软编译工具 cl.exe与在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰,下面介绍在Win7 命令行下编译C++。1、首先要正确安装Visual Studio 2010,安装路径(D:\Program Files)2、设置环境变量:PATH=$PATH$;D:\Program Files\Microsoft Visual Studio 10.0\VC\binINCLUDE=D:\Program Files\Microsoft Visual Studio 10.0\VC\includeLIB=D:\Pro 阅读全文
posted @ 2013-03-14 15:59 DageKing 阅读(489) 评论(0) 推荐(1) 编辑
摘要: SQL 实现定期备份数据库转自:http://www.cnblogs.com/jx270/archive/2013/03/10/2952568.html----------------------------------------------------------------------------Subject:数据库批量备份存储过程(判断盘符、路径,错误盘符返回,不存在的路径自动创建)--适用环境:SQL Server 2005及以上版本(主要用于作业中调用以及程序开发中调用)------------------------------------------------------- 阅读全文
posted @ 2013-03-14 15:52 DageKing 阅读(623) 评论(0) 推荐(2) 编辑
摘要: 单行编辑框文本垂直居中(包含计算字体高度)有时为了界面更漂亮,使用高度比较高的编辑框,但单行文本的编辑框文字是靠上显示的,反而不美观了,使文本垂直居中有两种方法:1. 属性设为多行,不接收换行,然后计算中间位置,使用SetRect设置到文本位置(注意OnSize还要处理)可在Create、OnCreate、PreSubClass里处理2. 响应WM_NCCALCSIZE修改客户区居中,通过获取字体高度计算[cpp]view plaincopyvoid CEditEx::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp) . 阅读全文
posted @ 2013-03-14 14:44 DageKing 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 树形控件Tree Control前面两节为大家讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Control。树形控件简介树形控件在Windows系统中是很常见的,例如资源管理器左侧的窗口中就有用来显示目录的树形视图。树形视图中以分层结构显示数据,每层的缩进不同,层次越低缩进越多。树形控件的节点一般都由标签和图标两部分组成,图标用来抽象的描述数据,能够使树形控件的层次关系更加清晰。 树形控件在插入新的树节点时会稍麻烦些,回顾之前的列表框,插入新列表项时调用AddString成员函数就可以了,而对于树形控件则需要指定新节点与已有节点的关系。另外,树形控 阅读全文
posted @ 2013-03-14 11:44 DageKing 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: 学会使用ODBC API 虽说以前也接触过一些数据库的应用,但是由于当时只是抱着非常浅显的数据库知识,做了一些SQL语句上的操作,安装-配置-连接这一系列的流程全是自己照着例子实现的,大概记住的也就是ODBC、ADO之类,也简单的理解了一下,当共享使用数据库时最好使用ODBC的方式,而本地的数据库就可以使用ADO。 具体区别这些连接方式倒是就可以好好学习一下了:MDAC:http://zh.wikipedia.org/wiki/MDACODBC:http://zh.wikipedia.org/zh-cn/ODBCADO:http://zh.wikipedia.org/wiki/ADO 简... 阅读全文
posted @ 2013-03-13 16:01 DageKing 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 常用ODBC连接字符串http://www.carlprothman.net/Technology/ConnectionStrings/ODBCDSNLess/tabid/90/Default.aspxODBC Driver for AccessFor Standard Security:oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ "Dbq=c:\somepath\mydb.mdb;" If you are using a Workgroup(System database 阅读全文
posted @ 2013-03-13 11:36 DageKing 阅读(3928) 评论(0) 推荐(2) 编辑
摘要: 一个好用的ODBC数据库类CMYODBC一、引言感觉MFC的CRecordset类不是很好用,因为我们要想使用的话必须为每个查询从CRecordset类派生出一个新类,或者进行动态数据交换。在VC知识库第六期上面有一篇介绍"单独使用CRecordset"文章,可是上面的CRecordset打开方式只能使用CRecordset::forwardOnly,游标只能向前滚动,而且用这种方式,你根本无法从打开的记录集中获得本次查询得到了有多少列。有一次在应用的时候,我只好通过捕获CRecordset::GetFieldValue()的异常来得到查询的结果有多少列。为了使用的方便,我 阅读全文
posted @ 2013-03-13 10:43 DageKing 阅读(658) 评论(0) 推荐(0) 编辑
摘要: SQL Server 高性能写入的一些总结1.1.1 摘要 在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。 本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍。 本文目录代码中的问题数据库性能开销使用存储过程使用数据库事务使用SqlBulkCopy使用表参数 1.1.2 正文 假设,我们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和... 阅读全文
posted @ 2013-03-13 10:13 DageKing 阅读(830) 评论(2) 推荐(2) 编辑
摘要: 完整的使用线程池的多线程C/S Socket类翻译水平有限,不明之处请阅读原文。原文:http://www.codeproject.com/Articles/33352/Full-Multi-thread-Client-Server-Socket-Class-with使用线程池实现的完整的 Client/Server Socket通讯类,很容易使用,也很容易被集成到C++应用程序中。也适用于Linux/Unix。在“Best C++/MFC article of February 2009”赛中获奖。代码下载请到原文地址。当做客户端运行时,在命令行中输入:SocketServer.exe /c 阅读全文
posted @ 2013-03-12 21:26 DageKing 阅读(5727) 评论(0) 推荐(0) 编辑
摘要: Full Multi-thread Client/Server Socket Class with ThreadPoolTo run the application as client, typeSocketServer.exe /clientfrom the command prompt.IntroductionRecently, I updated one of my first articles here at The Code Project, theServerSocket. While the base class (CSocketHandle) is quite stable a 阅读全文
posted @ 2013-03-12 21:23 DageKing 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 使用VC实现一个“智能”自增减线程池工作中接手了一款产品的改造。因为该产品可能使用很多线程,所以产品中使用了线程池。工程下载地址:DeInCreaseThreadPool转载自:http://blog.csdn.net/breaksoftware/article/details/7096657 线程池的一个优点是降低线程创建和销毁的频率;缺点是可能在比较闲的时候还存在一定数量的空闲线程。这个也可以比作现实生活中的武器,对于一款武器,有其攻击的能力和防御的能力。有些设计可能会将攻击力做的很强但是防御力有所折扣,有些可能防御做的很好但是攻击力不足。于是如果将这些设计放在一起可能就很难比较个好... 阅读全文
posted @ 2013-03-11 21:42 DageKing 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 用完成端口开发大响应规模的Winsock应用程序转载自:http://www.cnblogs.com/lidabo/archive/2012/12/16/2821063.html通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了――创建和连接一个套接字,尝试进行连接,然后收发数据。真正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用程序。本文将讨论如何通过Winsock2在Windows NT 和 Windows 2000上开发高扩展能力的Winsock应用程序。文章主要的焦点在客户机/服务器模型的服务器这一方,当然,其中的许多要点对模型的双方都 阅读全文
posted @ 2013-03-11 18:54 DageKing 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.csdn.net/hyljqr/article/details/500899结构体的sizeof先看一个结构体:struct S1{ char c; int i;};sizeof(s1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况S1 s1 = { 'a', 0xFFFFFFFF };定义上面的变量后,加上断点,运行程序,观察s1所在的内存,你发现了什么以我的VC6.0(sp6)为例,s1的地址为0x0012FF78,其数据内容如下: 阅读全文
posted @ 2013-03-11 17:49 DageKing 阅读(1507) 评论(0) 推荐(0) 编辑