C++
文章平均质量分 86
yimiyangguang1314
对C++ ,Linux 情有独钟
工作经验总结:
工作即修行
展开
-
C++开源库
前阵子写了《C++ 的“武”和“功”》。谈到C++语言知识,属于“功”,而那些强大的C++库,属于“武”,属于十八般武艺。这篇文章我首先把《白话C++》书中讲到C++库,及相关工具,简单做个介绍。这些库我是怎么为C++初学者挑出来的呢?(一)、它们必须都是开源产品,又为什么要是开源的呢? 1.1、十年前的国内C++学习者,可以完全不必理会开源库,但在几年,编程界中的人,如果敢无视开源力量原创 2009-07-15 08:46:00 · 5456 阅读 · 2 评论 -
C++ 阅读JPEG格式中的EXIF信息
需要对照片文件的拍摄时间进行读取,照片以".jpg"格式存储。之前以为直接读取文件创建时间就可以了,但是遍历文件得到的文件信息结构体存储的是文件在本地的一些时间,其中的文件创建时间再复制,编辑等操作之后就会发生改变,并非该照片原本的拍摄时间。后来搜索到Exif,百科中说,Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息转载 2013-05-06 09:24:59 · 3309 阅读 · 1 评论 -
ActiveX控件打包cab时INF文件的编写
虽然微软对ActiveX越来越不信任,但是这个技术还是很多人喜欢用的,这个博客的编辑器貌似就用到了ActiveX。在我们编写好ocx控件后只有在打包成CAB文件加入数字签名后才能正常发布,如果你用的是vc6,那么问题简单了,打包完成后不用考虑控件的运行库问题,现在的XP系统和将要淘汰的2kpro都已经有了这样的运行库。但是如果使用的是.net2005就会遇到有关运行库的问题,这些问题只能依转载 2011-06-23 15:12:00 · 12122 阅读 · 4 评论 -
const 专题
1.1. 简述const关键字的最初动机是取代预处理器 #define 进行值替代。用C语言进行程序设计时,预处理器可以不受限制地建立宏并用它来替代值。因为预处理器只做文本替代,它既没有类型检查思想,也没有类型检查工具,所以预处理器的值替代会产生一些微小而且往往是很难察觉而让程序员郁闷很久的问题,这些问题在C + +中可通过使用c o n s t而避免。 之后const又被用于转载 2010-03-03 10:51:00 · 658 阅读 · 0 评论 -
static_cast和dynamic_cast
static_cast 用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动原创 2010-02-24 11:42:00 · 584 阅读 · 0 评论 -
C 运行时库
运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量(例如errn转载 2009-12-08 15:59:00 · 587 阅读 · 0 评论 -
时间函数应用总结
我们在衡量一个函数运行时间,或者判断一个算法的时间效率,或者在程序中我们需要一个定时器,定时执行一个特定的操作,比如在多媒体中,比如在游戏中等,都会用到时间函数。还比如我们通过记录函数或者算法开始和截至的时间,然后利用两者之差得出函数或者算法的运行时间。编译器和操作系统为我们提供了很多时间函数,这些时间函数的精度也是各不相同的,所以,如果我们想得到准确的结果,必须使用合适的时间函数。原创 2010-01-29 15:54:00 · 1168 阅读 · 2 评论 -
using namespace std
using namespace std 意思: using 和namespace都是C++的关键词。 std 是标准程序库所驻之命名空间(namespace)的名称。如果使用Boost的库 ,那就写 using namespace boost; 如果使用C++ 标准库 那就写 using namespace std;就是暴露std这个名字空间,你就可以调用std这个名字空间下的东西,包含在这个命名转载 2009-09-22 16:02:00 · 1088 阅读 · 0 评论 -
MFC快捷键的编程
最近在做一个即时通信软件,用到了类似QQ中按下 Alt+S键就可以把消息发送出去的功能,本来以为这个功能很简单,在PreTranslateMessage中截获S键然后判断Alt键是否按下就可以了,可是Ctrl或者Shift 都可以,Alt 不行,也就是说这种方法不能实现Alt+S的功能,最后换个思路,用如下的方法解决了,希望对您有所帮助,呵呵.原创 2009-07-09 11:05:00 · 2415 阅读 · 2 评论 -
VC编译器参数介绍
大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢原创 2009-09-04 10:15:00 · 1915 阅读 · 1 评论 -
C++ vector 排序
C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结构体类型时,我们该怎样实现升序与降序排列呢?有两种方法,下面的例子能很好的说明: 方法1: 我们直接来看代码吧,比较简单,容易理解: #includ原创 2009-08-25 10:14:00 · 5926 阅读 · 3 评论 -
C++异常处理
第一部分: 1.异常发生时,异常对象会沿函数调用栈的反方向抛出,这个过程常称为栈展开。2.在栈展开过程中,如果异常对象始终都没遇到可行的catch处理块,系统将调用terminate函数强制终止程序。当然如果连try块都没有,系统将直接调用terminate函数。3.在栈展开过程中,编译器保证适当的撤销局部对象。每个函数在栈展开退出时,它的局部存储会释放,如果局部对象是类类型转载 2009-08-19 15:21:00 · 1367 阅读 · 0 评论 -
VC 6.0下搭建 wxWidgets开发环境
VC 6.0 下搭建 wxWidgets 开发环境 和 GTK、QT、SWT、SWING 一样,wxWidgets 也是一种开源跨平台的 GUI 框架。因 wxWidgets 和 MFC 有些渊源,有转载 2009-07-30 08:49:00 · 870 阅读 · 0 评论 -
VC的常用快捷键,你知道吗?
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse files,会出现提示对话框,确定,然后就会跳到定义那转载 2009-07-21 09:01:00 · 877 阅读 · 0 评论 -
C++对象是怎么死的?Win32线程篇
在前面的帖子 里聊完了进程终止对C++对象析构的影响。今天咱们来说一下线程对于C++对象析构的影响。 由于C++ 03标准没有包含线程的概念,而C++ 0x尚未正式发布。所以对线程的讨论只好根据特定的操作系统平台来谈。对于操作系统自带的线程API,目前比较流行的款式是Windows平台提供的线程API和POSIX平台上的pthread API。但是这两种线程API的差异实在是太大,没法拿出来原创 2009-07-17 11:50:00 · 623 阅读 · 0 评论 -
DirectShow编程实现摄像头视频捕捉
前言 DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。 DirectShow为多媒体流的捕捉和回放提供了强有力的支持。用DirectShow开发应用程序,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。 DirectShow是基于COM的,为了编写DirectSh转载 2009-07-16 18:02:00 · 1301 阅读 · 0 评论 -
memmove、memcpy和memccpy 简介与思考
memmove、memcpy和memccpy 三个函数都是内存的拷贝,从一个缓冲区拷贝到另一个缓冲区。memmove(void *dest,void*src,int count)memcpy(void *dest,void *src,int count)memccpy(void*dest,void*src,int ch,int count)表头文件: #include原创 2013-05-06 11:08:14 · 1568 阅读 · 0 评论