
VC++经验总结
liquanhai
机器人软件攻城狮
展开
-
关于指针的一点感悟
1.指针变量的值是其他变量的地址,指针变量也有自己的地址:#include int main(){ int* p=NULL; printf("&p=%p,p=%p/n",&p,p); int n=3; printf("&n=%p,n=%d/n",&n,n); p=&n; printf("&p=%p,p=%p/n",&p,p); return 0;}原创 2009-12-11 21:53:00 · 1000 阅读 · 0 评论 -
深入讲解函数中分配内存问题
函数中分配内存的问题, 通过说明他们产生了拷贝,而导致p不能成功分配。但并未提出事实根据,下面我们来仔细看看具体原因。转载 2010-08-26 09:48:00 · 1158 阅读 · 0 评论 -
gcc for Windows 开发环境介绍
起初,GCC是用于Unix,Unix-like系统的编译器。不过,现在Windows下也出现了GCC的稳定移植版。这要感谢Internet上众多程序员的共同努力。 如今,在Windows下比较流行的GCC移植版主要有三个。他们是 MinGW,Cygwin和Djgpp。虽然,Djgpp是应用于DOS系统的,考虑到windows对DOS的兼容,所以也将Djgpp纳入其中了。总体来说,MinGW,Cygwin和Djgpp各有特色,针对不同的应用场合,可以选择不同的移植版来满足需要。MinGW这个系列的移转载 2010-08-25 11:31:00 · 1276 阅读 · 0 评论 -
什么是句柄?为什么会有句柄?HANDLE
指针其实也是一种"句柄",只是由于指针同时拥有更特殊的含义——实实在在地对应内存里地一个地址——所以,通常不把指针说成是"句柄"。但指针也有着能从一个32位的值引用到一大堆数据的作用,这不是句柄又是什么?转载 2010-08-30 10:54:00 · 5662 阅读 · 4 评论 -
什么是Wine
Wine 是一个令人神往而且目标远大的开放源代码项目,它尝试去解决在 Linux 上运行 Windows 可执行文件的复杂问题。尽管 Wine 不是一个新项目,但是,人们对 Linux 桌面的期望以及对 Linux 应用程序的需求日益增加,使得它现在仍具有重要意义。本文对 Wine 进行了介绍,并提出了几种获得 Wine 内部操作经验的途径。原创 2010-09-30 14:24:00 · 3677 阅读 · 0 评论 -
学会SVN的应用----源代码托管
SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。动画教程:http://www.subversion.org.cn/media/all.swf原创 2010-10-17 12:43:00 · 2676 阅读 · 0 评论 -
目前比较热的GUI 总结
这两天论坛上最火的帖子就是关于两个GUI:金山卫士KUI界面库和Google chrome界面库。这是我们每天都在用的东东,下载了,研究了一些不错,好多东西值得我们去学习。为此想到总结一些C++的常用程序框架。原创 2011-03-26 18:20:00 · 9322 阅读 · 1 评论 -
viusal studio 6.0/ VC 6.0 SP6 补丁版本检测方法(可能是总结最全面的检测方法)
首先是为什么安装SP6和它的下载地址:http://blog.youkuaiyun.com/liquanhai/archive/2009/12/01/4912963.aspx#1570353查看了网上好多的资料总结如下: 1. 手工安装VS6.0的SP6包(在微软网站下载的)后,启动时没有SP6的标记,且下列文件的版本是: msdev.exe 6.0.9782.2 cl.exe原创 2011-06-21 00:04:00 · 6854 阅读 · 2 评论 -
VC编译开关选项分析(debug和release版本的对比)
在VC中debug版本中包含了很多调试信息,而release版本则是发布版,而这些信息都在编译开关中体现出来了。编译器的编译选项有速度优先和代码最小等选项,可以调节。还有其他信息。本文详细分析和对比编译开关的选择和意义,欢迎大家来指出修改和改正意见,使文章更加完美。原创 2011-08-08 16:05:29 · 8526 阅读 · 3 评论 -
VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案
引子:竟然可以用Code::Blocks来打开、编译、调试VC 6.0的项目,感觉很神奇,通过配置也让我们更进一步了解VC++ 6.0的编译器,连接器,调试器。好多兄弟问到要是能支持最新的VS2008和VS2010就好了,其实Code::Blocks已经配置好我们习惯的编译器的I原创 2011-07-19 23:03:16 · 20736 阅读 · 21 评论 -
Spy++的应用之千千静听播放器的控制
先看一段代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;原创 2010-04-24 00:29:00 · 1315 阅读 · 1 评论 -
什么是VC
多人只是听说VC是最好的开发语言,便去学习,就象大家听说辟邪剑谱厉害,便都去抢着学一样,都是很盲目的。其实语言并没有好坏之分,我在用C之前,一直觉的BASIC 是最好用的语言。现在在WINDOWS平台下编程,VB和DELPHI可以满足大多数的应用,而且速度不会很慢。使用VC主要是用来开发系统软件和大型工具软件以及开发游戏。 现在比较流行的操作系统主要是WINDOWS系列和UNIX系列原创 2010-04-18 18:51:00 · 5968 阅读 · 0 评论 -
汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp这些都是什么意思啊?
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。EAX转载 2010-04-12 23:35:00 · 45809 阅读 · 2 评论 -
C/C++语言void及void指针深层探索
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个voi原创 2009-12-12 00:30:00 · 758 阅读 · 0 评论 -
引用和const引用
#include class test { int Value; public: test(int val):Value(val) { printf("构造函数Value=%d/n",Value); }; ~test() { printf("原创 2009-12-12 14:50:00 · 1366 阅读 · 0 评论 -
一个C内存分配问题
今天一个C/C++群里的几个朋友在谈论一个C的内存分配问题,这个问题是先由一个朋友提出的,它写了如下一段代码:char *p = (char *)malloc(10);p = "akdfa";char *q = (char *)realloc(p, 25);结果在运行时出错了.然后大家展开了讨论,结果无果而终。由于在群上不太容易表达自己的想法,下面我把自己和一个朋友的理解写转载 2009-12-11 14:41:00 · 926 阅读 · 0 评论 -
对个帖子的总结:严重声明:C语言中不存在数组的类型!它仅仅是一个概念!
http://bbs3.chinaunix.net/viewthread.php?tid=1631299这篇文章讲到了C语言指针的理解,楼主虽然理解了指针,但是说话有点偏激,观点不完全正确。C语言中不仅不存在数组类型,也不存在char, short, int, long, float, double等等这些类型,非要说C存在一种类型,那也可以说只有一种类型:内存段。何为内存段?就是一块内存,暂原创 2009-12-23 14:27:00 · 1360 阅读 · 0 评论 -
有关vctor指针的详细解释
/************************************************************************//* 讨论Vector及其指针的具体使用 *//**********************************************************原创 2009-12-29 13:58:00 · 1129 阅读 · 0 评论 -
有意思的strlen
int strlen(char *p) // 注意! 不允许定义任何变量 { if( *p ) return strlen(p + 1)+ 1; return 0;}原创 2009-12-31 10:52:00 · 2550 阅读 · 12 评论 -
关于C的思考
关于C的思考Cong WangMay, 2006 Network Engineering DepartmentInstitute of Post and Telecommunications, Xian, P.R.China引言 C语言结合了汇编的所有威力,它的抽象程度碰巧既满足了程序员的要求, 又容易实现。因其独特的灵活性和强大的可移植原创 2010-01-12 00:02:00 · 1461 阅读 · 0 评论 -
VC++学习推荐
最近,经常在csdn博客上看一些博主的文章,总结一下有关VC++学习方面的经典教材及其他人的笔记。 1.阿蒙在他的博客上推荐一些学习的旧书,我感觉全是经典。http://blog.youkuaiyun.com/harrymeng/archive/2003/07/22/6110.aspx 2.再就是看到潘爱民老师推荐vc++编程内幕,找到了下面的一个链接http://blog.youkuaiyun.com/原创 2010-01-11 13:59:00 · 1424 阅读 · 0 评论 -
正确使用内存(转)
对于初学者来说,内存是个神秘的空间。程序的绝大部分错误,也是在于内存的使用不当造成的,而且这些错误有些都是隐藏很深的。所以,如何掌握内存的使用,通晓系统对内存的管理手段,将是软件成功的一个非常关键的因素。 首先我们要了解内存的分配方式。一般来说,内存的分配方式有三种:1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,st转载 2010-01-14 23:36:00 · 906 阅读 · 0 评论 -
十年MFC经历认识的Microsoft技术
一、初识MFC我最初知道MFC大概是在1993年,那个时候Visual C++还没面世,当时Microsoft的C++编译器还很弱,官方的名字是Microsoft C/C++ 7.0,MFC的版本是1.0,几乎没有引起什么反响,那个时期最好的C++开发环境是Borland转载 2010-04-15 21:56:00 · 2417 阅读 · 2 评论 -
在MFC中以MessageBox来体会函数重载
上篇博文谈到了C++函数重载在MFC类库中的一些体现,可能你会说这些我都知道。是的,上面那篇仅仅是个切入点,紧接上篇,我们来谈一下重载C++标准库函数时候会发生什么样的问题呢?接下来会通过重载MFC的MessageBox让你知道不一样的MFC。一、messagebox的原始调用方法我们随便新建一个MFC的对话框工程,先给出两种messagebox的调用方法,如下所示:void原创 2014-01-14 12:12:56 · 3958 阅读 · 1 评论 -
指针作为函数参数在C/C++中调试和探讨
通过一道码农常遇到的问题但是并未去深入分析过的问题,一步一步的调试跟踪截图来分析,问题出在哪里,怎么解决和理解,来帮助消化知识点:函数传值和传指针的相同。函数传递时仅仅是传递的值。借用一位网友的总结:“函数的参数进行值拷贝,即使传的是指针,也的对指针(即指针里存的地址)的拷贝。”遇到搞不清楚的时候勤动手,多调试,肯定会搞明白的。原创 2014-01-27 17:10:01 · 4113 阅读 · 0 评论 -
最后一版支持VC6的SDK的下载地址
可见微软已经不再对 VC6 支持了,最新的 SDK 已经不能在 VC6 上使用。vc6推出时,是98年,windows2000,windowsXP都还没有推出。所以VC6的头文件中仅仅包含win98/NT的API、常量声明。在新的系统推出后,windows2000/xp都增添了一些新的API函数、常量定义。于是,你就需要安装platform sdk,它会安装一些新的头文件,lib库到你的VC里面,这里面包含了新操作系统的新API函数、常量的声明。装了platform SDK,在VC6里面就可以调用转载 2010-09-29 17:28:00 · 13039 阅读 · 5 评论 -
CSerialPort串口类最新修正版(解决关闭死锁问题)2014-01-11
CSerialPort串口类最初由Remon编写,是一份优秀的类文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,类的封装方面等等。由于已经运行十几年了,原文的问答部分列出来这么多年来的问题,经过网友们的总结,补充和修改原来代码后,整理出一份相对比较完美的代码。 本文还附带一份小项目的源代码,它超越了串口助手,给人一种耳目一新的感觉。你可以直接改造它用到你的项目中!这份工程源代码非常珍贵,剖析它,能学会不少知识,欢迎收藏!原创 2011-11-06 21:50:25 · 44447 阅读 · 93 评论 -
木木的常用软件点评(2)------VC程序员常用工具篇
过年了,事情可以暂时放一下了。总结一下很有必要。又看到外面饭馆写着“岁末收工,初六开炉“了。好了,废话不多说,接着上篇继续评点程序员常用工具。当然还得请朋友们留言,好做继续的整理和补充,谢谢!顺祝大家新年好!文中已经提供每个工具的超链接地址,请点击下载:转载请注明出处:http://blog.youkuaiyun.com/liquanhai/article/details/72150451. IDE原创 2012-01-25 14:02:17 · 18696 阅读 · 52 评论 -
Teechart 的用法详解:在VC6.0 跟Visual Studio 2005及之后版本的区别
在VC++6.0和Visual Studio各大版本上的使用总结:通过oleview.exe软件的typelib接口查看,得知接口一致,因为不同的编译软件,产生的头文件和接口有区别,导致给开发人员的友好程度不一样,我们还是喜欢VC++6.0的风格。其他版本上可以直接引用通过VC++6.0导出的头文件即可。原创 2016-06-02 10:00:52 · 7188 阅读 · 4 评论 -
对VC++工程编译过程的梳理
对VC++工程编译过程的梳理VC++的项目和解决方案文件解读,无非就是利用这些信息进行一个软件的编译,这些文件里面是存放的项目的配置和工程的组织,类似于makefile文件. 但是只有VC++6.0的时候可以导出makefile文件,VC6的project>Export MakeFile,往后的版本都取消了。 所以只能从各个文件中去获取相关信息,最后才编译。原创 2016-06-02 19:50:57 · 4137 阅读 · 0 评论 -
CFormView 单文档程序最大化问题
CFormView 单文档程序最大化问题遇到用高版本的Visual Studio开发程序时,软件无法最大化,按照以前的那些设置压根不起作用,试过无数次方法,都失效,百思不得其解。无意中思索自己的程序框架,使用了CFormView,另外加上SDI。从这个地方着手,交给了万能的Google。找到如下的解决方案:原创 2016-04-07 18:00:04 · 1469 阅读 · 0 评论 -
为什么现在多数软件都默认选择安装目录为user下的AppData而非Progamfiles?
为什么现在多数软件都选择安装目录C:\Users\AppData\Roaming\为什么放弃默认选择Program Files 我一直百思不得其解. 原因是UAC惹得祸自从VISTA引入了权限机制UAC,对系统盘文件的读写经常会没有权限,虽然安装时候会取得权限安装,但是后面的软件操作会比较困难.非常有必要使用这个文件夹来存放程序的数据文件或者安装目录.原创 2016-06-02 17:30:32 · 12262 阅读 · 1 评论 -
C++函数重载在MFC中的体现
这个系列用几篇简单的博文回顾,通过MFC来挖掘C++的各种编程思想。进而进一步体验C++各种关键语法是怎么灵活运用的。开篇从最简单的函数重载启程吧!目的:为了减轻程序员记忆函数名称的负担,增强代码的可读性,C++编译器允许在相同作用域(全局或某类)内定义两个以上的同名函数。重要说明:重载函数是以参数类型或者参数个数加以区别的。每个重载函数可以有不同的返回值类型,不过函数的返回值对区原创 2014-01-13 16:55:13 · 4901 阅读 · 0 评论 -
函数指针在MFC中的应用
马上就过年了,希望奋斗在一线的码农顺利收工,准备好年货过大年!提前给大家拜个早年。本系列的第三篇来到了虚拟函数这块,可能好多人看到这个概念就发怵,听我慢慢讲来...... 在实际的开发工作中,为了提高代码的重用性,编写通用的功能模块,往往需要设计处理几种不同对象的通用程序。下面给了例子//显示8进制数CString DisplayOctal(const int Number){原创 2014-01-24 15:23:08 · 4336 阅读 · 0 评论 -
又是一年,我的2013年终总结
今天是冬至(2013年的12月22日),日历摆了乌龙,不少人提前把节给过了,再过一周2013也就算过完了,我的博客在这一年中一直没有更新,惭愧!过去的一个年头里,一直感觉很忙,也不知道在忙活些什么,来去匆匆,都没有顾得上好好地去思考,去总结。作为一个大龄程序员,已经可能快被历史所淘汰了,危机感还是有的,但是又有什么办法呢。岁月是个杀猪刀,我已经三十有三了!原创 2013-12-24 00:04:29 · 8989 阅读 · 38 评论 -
CserialPort串口类最新修正版(解决关闭问题)2011-11-04
这是一份优秀的类文件,好多的地方值得我们学习,具体在多线程,事件,自定义消息,类的封装方面等等。Remon提供的串口类网址为: http://codeguru.earthweb.com/network/serialport.shtml,由于已经运行十几年了,原文的问答部分列出来这么多年来的问题,经过网友们的总结,补充和修改原来代码后,整理出一份相对比较完美的代码。分享给需要的朋友们,有原创 2009-12-07 11:10:00 · 8399 阅读 · 7 评论 -
MFC源代码的头文件源文件切换,以及源代码的挖掘和学习
MFC的源代码可以说是微软共享给广大程序员的一笔很宝贵的财富,尤其是调试的时候会调试进去,让我们看到“有代码有真相”。无幻兄弟已经总结过两种方法查看MFC源代码。笔者再在此基础上锦上添花。 一:快速实现类浏览的方法 首先介绍一个快速实现类浏览的方法,使用它不仅可以浏览MFC中的各个类而且可以查看类的各种成员及其源文件.同时,实现起来又非常简单,各位VC的爱好者不妨一试原创 2011-12-16 11:56:54 · 4533 阅读 · 0 评论 -
木木的成长:展望2012,回顾2011
每一个csdn博客后面都有一个勤勤恳恳的程序员在维护着,我仅仅是其中之一罢了。不知不觉间,2012已经过去12天了。虽然快过年,但是没有得清闲,项目紧,任务也蛮多。都没有时间静下来说一说自己的感受。 2011年几乎全年都在使用MFC,多亏了社区里兄弟们的帮助,对这个库的使用已经越来越熟悉了。熟悉的越多,感觉到不懂得反倒是越多了。明白了静态库,动态库,makefile,自绘等等,还需要原创 2012-01-12 22:43:17 · 2555 阅读 · 4 评论 -
需要静下来用心读的----程序语言编程规范
总结一下常用的编程规范: (1)VC编程规范---程序员都应该这样写代码 (2)Google C++编程风格指南 (3)华为软件编程规范和范例 (4)高质量C++/C编程指南 (5)微软一站式示例代码库 (6)代码大全 (7)编程高手箴言 (8)腾讯编码规范 (9)C++编码规范与指导(作者:白杨,版本:V1.37) (10)陈浩的编程修养原创 2010-10-31 23:21:00 · 10244 阅读 · 11 评论 -
计算机CPU的工作原理动画
一直在找有关CPU相关的工作原理动画,终于找到了。喜欢这个的可以认真看看了CPU工作原理系列动画下载原创 2010-04-13 10:50:00 · 33182 阅读 · 15 评论