随笔分类 - C++
读深入了解c++内核对象模型小结(1/3/4)
摘要:之前早就听说这本书不错,如果想对c++进一步的了解可以看看,此书是进阶阶段参考,笔者自己看了书的第一、三、四章节,后面会继续。 第一章讲了c++的对象模型的引入,各种模型的对比和现在c++采用的模型,比如简单对象模型、表格驱动对象模型、C++采用的是针对简单又参考表格驱动既存对象又虚函数存...
阅读全文
VC++中复制对话框资源 之较好方法之一
摘要:资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下:碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中。在网上搜了几个帖子发现都说的很生涩。 问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中. 1.在VC...
阅读全文
NetBios网络基础及编程
摘要:开始学习(算是复习)网络编程了,第一个就是局域网的netbios协议编程。 首先了解一下什么是netbios:IBM公司为PC-Network开发的一套网络标准。,NetBIOS最广泛的应用之一就是对NetBIOS用户扩展接口(NetBEUI,NetBIOS Extend User Inter...
阅读全文
一维向量旋转算法 编程珠玑 第二章
摘要:看了编程珠玑第二章,这里面讲了三道题目,这里说一下第二题,一维向量旋转算法。题目:将一个n元一维向量(例数组)向左旋转i个位置。解决方法:书上讲解了5种方法,自己只想起来2种最简单方法(下面讲的前两种)。1.原始方法。 从左向右依次移动一位,对所有数据平移;这样循环i次,算法最坏时间复杂度达n^2...
阅读全文
位向量
摘要:看了编程珠玑第一章练习题第二题,关于位向量使用逻辑运算符实现的问题。首先,位向量不明白:位向量是一种高效的整数结构,每一个32位的整数通过设置或清除它的某一位,可以保存32个数。如果是一个数组,则可以存更多的数。题目意思是使用一个整数表示32个数,可以使多个整数组成的数组,如int a[2]表示两个...
阅读全文
vector 内存释放问题
摘要:关于容器的处理,只是拿来用,理解不深,但是今天跑程序出了问题。释放空间未得到真正的释放。于是网上找了一些文章,解决的问题。解决方法:使用swap 加上clear,一起释放空间。原理:即先创建一个临时拷贝与原先的vector一致,值得注意的是,此时的拷贝(申请空间时系统分配容量)其容量是尽可能小的符合...
阅读全文
Vs2012 中使用itoa
摘要:自己在写程序的时候经常用到保存大量的图片,从而对其编号,所以要把整型转换成字符型。通常自己定义string,而字符使用char[],把整形转换成char类型,然后和string类型相加,但是在VS2012中遇到了The POSIX name for this item is deprecated. ...
阅读全文
内存泄漏处理
摘要:最近在做视频处理方面的东西,做到实时处理,内存泄漏是很致命的。网上找了好多方法,试了一种比较好的,在此分享一下。1.常规内存泄露的检测常规内存泄露一般是由于编程者在手动申请内存空间之后没有释放造成的。如用new、malloc()函数或CString的GetBuuffer()函数申请内存空间后没有使...
阅读全文
dll,lib文件的导入
摘要:这里介绍了两种方式调用,不过我一般用的是第一种,比较方便。1动态库函数的调用,可以采用静态链接的方式,主要步骤如下:1) 包含DLL中导出的头文件。2) 采用#pragma comment(lib,"..\\debug\\libTest.lib")导入动态库生成的*.lib头文件。或在 projec...
阅读全文
memset的使用
摘要:今天写程序的时候用了memset这个函数,我知道他是关于清空指针的,设置为0。但我用的时候,没有注意到他是以字节为单位进行操作的,改了半天其他程序内容。要注意的是,memset是对字字进行操作,所以以后使用函数要注意看清楚函数的用法。附链接查看:http://www.cnblogs.com/xiaolongchase/archive/2011/10/22/2221326.html
阅读全文
C++ VS2010 声明没有存储类或类型说明符
摘要:函数外只能定义全局变量或者对象,而不能执行语句及调用函数。
阅读全文
error C3872: "0xa0": 此字符不允许在标识符中使用
摘要:整理:这是因为直接复制代码的问题。0xa0是十六进制数,换成十进制就是160,表示汉字的开始。解决办法:在报错的代码行检查两边的空格,用英文输入法的空格替换掉。万恶的网络,万恶的word,这些无厘头的错误都是你们搞出来的!!
阅读全文
Stack around the variable 'szStr' was corrupted.
摘要:错误:stack around the variable “XX” was corrupted.,中文翻译就是“在变量XX周围的堆栈已损坏”。把project->配置属性->c/c++->代码生成->基本运行时检查为默认值就不会报本异常。具体原因正在研究中。。。 如果改为其他就有exception。...
阅读全文
堆和栈的区别
摘要:转载:一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意...
阅读全文
DLL函数中内存分配及释放的问题
摘要:DLL函数中内存分配及释放的问题 最近一直在写DLL,遇到了一些比较难缠的问题,不过目前基本都解决了。主要是一些内存分配引起问题,既有大家经常遇到的现象也有特殊的情况,这里总结一下,做为资料。 错误现象是“其原因可能是堆被损坏,这也说明 **.exe 中或它所加载的任何 DLL 中有 bug”我的现...
阅读全文
fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
摘要:错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?错误分析:此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件...
阅读全文
VC6.0和VS2010转换时经常遇到的问题
摘要:这是最近总遇到的,等以后再遇到时慢慢添加进来1、从1.1更新为2.1,编译“min”: 找不到标识符解决方法:加上#include "minmax.h"2、c:\documents and settings\administrator\桌面\liuyu\liuyu\cdib.cpp(1054): e...
阅读全文