
C/C++/VC++
文章平均质量分 78
phinecos
专注于开源技术的研究与应用
展开
-
BMP文件的读取
运行测试效果: 代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void CMyView::OnReadBmp() {//读取BMP文件并显示 CDC *pDC = GetDC(); CFileD原创 2009-05-09 15:41:00 · 1040 阅读 · 0 评论 -
色彩空间转换
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// RGB转换为YUVvoid RGB2YUV(double R, double G, double B, double &Y, double &U, double &V){原创 2009-05-03 14:41:00 · 1592 阅读 · 0 评论 -
C++ Exercises(二十)
1,来看下面这段代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>using namespace std;class BaseClass{public: BaseClas原创 2009-03-24 13:41:00 · 754 阅读 · 1 评论 -
CodeFx:一站式微软开发技术解决方案
晚上在博客堂读完VSTO写的一篇文章,介绍了CodePlex上面的一个项目,叫做“All-In-One Code Framework”,代号CodeFx,简单的说,就是收集了几乎所有常见的微软开发技术的示例项目,将其打包到这个框架里,而且还使用各种不同的语言进行实现。比如创建一个ActiveX控件和COM组件,CodeFx里面使用ATL、MFC、VB、C#来实现同样的功能。适原创 2009-03-04 23:41:00 · 1330 阅读 · 0 评论 -
GDI+学习笔记(一)
(1)、在应用程序中添加GDI+的包含文件gdiplus.h以及附加的类库gdiplus.lib。通常gdiplus.h包含文件添加在应用程序的stdafx.h文件中,而gdiplus.lib可用两种进行添加:第一种是直接在stdafx.h文件中添加下列语句: Code highlighting produced by Actipro CodeHighlighter (freew原创 2009-03-01 08:41:00 · 725 阅读 · 0 评论 -
C++ Exercises(十七)---网际校验和算法
在《基于ARP协议获取局域网内主机MAC地址》中使用了WinpCap来发送ARP请求,查询局域网内主机MAC地址,这篇来试试直接用Windows API函数来实现,最后再来探索用于IP,TCP,UDP等众多协议的网际校验和算法。1,查询局域网主机MAC地址Code highlighting produced by Actipro CodeHighlighter (free原创 2009-01-05 20:41:00 · 1651 阅读 · 0 评论 -
搜索题---医生的药方
这道题最难的地方是当一种药和它的一个后续药品出现后,如何防止其他的后续药品在搜索中出现,因为搜索的时候是按位置顺序探测的,所以位置不是相邻的时候,从下一层回退回来并不知道前面已经有这样的状态。剪枝的条件应该还有,我这个代码还是很慢。测试用例:输入:Code highlighting produced by Actipro CodeHighlighter (freew原创 2008-11-18 16:43:00 · 678 阅读 · 0 评论 -
大整数问题
题目描述:有一个k(1≤k≤80)位的十进制正整数n,设计一个程序,找到满足条件:P3+ P2+3P≤n的P的最大值。测试用例:输入:1000000000000001000000000000003000000000000001输出:100000000000000Code highlighting produced by Actipro CodeHighl原创 2008-11-17 17:43:00 · 771 阅读 · 0 评论 -
简单搜索题:马的走法
一个4×5的棋盘,输入马的起始坐标,求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>usi原创 2008-11-12 20:43:00 · 1074 阅读 · 0 评论 -
《基于MFC的OpenGL编程》Part 14 Quadrics
本文在第11篇文章的基础上,为其加入显示各种二次曲面的代码; QuadricsEvery quadric has a few settings associated with it. We have to create a quadric first and then customize its settings to render the shape we原创 2008-11-06 17:44:00 · 599 阅读 · 0 评论 -
《基于MFC的OpenGL编程》Part 13 Creating 2D and 3D Text
wglUseFontBitmaps函数The wglUseFontBitmaps() function creates a set of bitmap display lists based on the glyphs in the currently selected font in the current DC for use in the current OpenGL RC. I原创 2008-11-06 16:44:00 · 833 阅读 · 0 评论 -
《基于MFC的OpenGL编程》Part 10 Texture Mapping
本文在第9篇文章的基础上,为立方体加入纹理映射的功能。Texture MappingTexture Mapping in OpenGL is a fairly straightforward concept. Every texture is nothing but an image of some sort. Texture mapping is basically a原创 2008-11-05 22:44:00 · 757 阅读 · 0 评论 -
《基于MFC的OpenGL编程》Part 8 Colors
OpenGL支持两种颜色模式:RGBA和颜色索引模式,本文关注于前者。Smooth Shading and Flat Shading When Smooth Shading is specified, the color values are interpolated between vertices. If Flat Shading is specified, one原创 2008-11-05 20:44:00 · 657 阅读 · 0 评论 -
《基于MFC的OpenGL编程》Part 7 Animation
本文中将对第5篇文章的太阳系模型进行修改,加入一些动画效果。此外还会加入显示帧速率的代码。 加入动画效果最容易的方法是响应WM_TIMER消息,在其消息处理函数中改变一些参数值,比如每过多少毫秒就旋转一定的角度,并且重绘场景。Frame RateFrame rate is nothing but the number of frames that can原创 2008-11-05 20:44:00 · 718 阅读 · 0 评论 -
《基于MFC的OpenGL编程》系列文章
1,《基于MFC的OpenGL编程》Part 1 A Primer2,《基于MFC的OpenGL编程》Part 2 Setting up OpenGL on Windows3,《基于MFC的OpenGL编程》Part 3 Drawing Simple 2D Shapes4,《基于MFC的OpenGL编程》Part 4 Drawing Simple 3D object原创 2008-11-05 10:44:00 · 1149 阅读 · 0 评论 -
2003年广东省赛试题3 国际象棋
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>#include string>#include cmath>using namespace std;enum TRes原创 2008-11-04 17:44:00 · 796 阅读 · 0 评论 -
ZOJ1009 Enigma
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream> #include string> using namespace std; int rotor[3][26];//密码表int rrou原创 2008-10-24 14:45:00 · 1098 阅读 · 0 评论 -
ZOJ1057 Undercut
简单题,就是输出时注意格式问题:输出一行结果后需要加入一个空白行。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>using namespace std;int原创 2008-10-23 14:45:00 · 818 阅读 · 0 评论 -
工作小结
1,Win2000下动态加载DLL时遇到一个奇怪的问题,CString sdkPath = _T("C://WINDOWS//system32"); ::SetCurrentDirectory(sdkPath); handle = ::LoadLibrary(_T("C://WINDOWS//system32//termb.dll")); if (handle ==原创 2008-10-10 17:45:00 · 804 阅读 · 0 评论 -
ZOJ1005 Jugs
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* F原创 2008-09-21 21:45:00 · 933 阅读 · 0 评论 -
ZOJ1003 Crashing Balloon
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* F原创 2008-09-18 12:45:00 · 887 阅读 · 0 评论 -
ZOJ1002 Fire Net(递归版)
代码:#includeiostream>using namespace std;char map[4][4];// 地图int maxNum,n;bool CanPut(int row, int col){//测试是否可以放置碉堡到row行col列处,因为位置是从小到大前进的,因此只需要测试比待测试点小的位置 int i; //测试c原创 2008-09-18 09:45:00 · 854 阅读 · 0 评论 -
ZOJ1109 Language of FatMouse
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* F原创 2008-09-17 21:46:00 · 1276 阅读 · 0 评论 -
基于K-Means的文本聚类算法
源代码下载:TDIDF_Demo.rar 声明:本文代码思路完全来自蛙蛙池塘的博客,只为技术交流用途,无其他目的 昨天有幸拜读了蛙蛙池塘的《蛙蛙推荐:蛙蛙教你文本聚类》这篇文章,受益匪浅,于是今天就动手尝试照着他的C#代码,用C++和STL标准库重新实现一遍,因此就有了这篇文章。本文将重新温习蛙蛙池塘那篇文章,并且加入我个人在用C++重写这份代码过程中学到原创 2008-09-06 15:46:00 · 2278 阅读 · 1 评论 -
引用计数型String类的简单实现
利用”引用计数”和”写时复制”这两个特点来实现一个字符串类,为了更好地隐藏类的实现,避免出现下述情况:当对于内联函数定义的改动,对于对象成员大小的改动等导致程序的重新编译,我们可以的代码结构如下: 我们在程序中维护两个不同的头文件,在提供给用户使用的那个公共头文件中,只是告诉用户我们定义了String_ref这个类,并且在String对象中用一个指针指向它Code原创 2008-09-05 11:46:00 · 790 阅读 · 0 评论 -
COM组件开发实践(六)---From C++ to COM :Part 3
在上一篇文章《COM组件开发实践(五)---From C++ to COM :Part 2 》中,我们进展到使用COM库加载C++对象了,这一篇中我们将真正将C++对象变成 COM对象,而在下一篇中我们将为它添加多接口支持。C++对象变成COM对象要将一个C++对象变成一个真正的COM对象,只需要如下操作:1)实现接口的引用计数。因此每个COM对象都需要有两个函数用于原创 2008-08-31 14:46:00 · 643 阅读 · 0 评论 -
《C++标准程序库》读书笔记(四)
1,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>#include list>#include algorithm>using namespace std;int main(){原创 2008-08-27 22:46:00 · 696 阅读 · 0 评论 -
《COM组件开发实践》系列文章
COM组件开发系列链接: 1,COM组件开发实践(一)2,COM组件开发实践(二)3,COM组件开发实践(三)4,COM组件开发实践(四)---From C++ to COM :Part 15,COM组件开发实践(五)---From C++ to COM :Part 26,COM组件开发实践(六)---From C++ to COM :Part 37,COM原创 2008-08-25 17:46:00 · 967 阅读 · 0 评论 -
COM组件开发实践(四)---From C++ to COM :Part 1
源代码下载 – 74kb一,C++客户重用C++对象 假设已经有一个可以重用的类,我们就可以在自己的程序中去重用它,只需要将其定义和实现文件加入到我们自己的工程中,并且在使用它的文件中包含此类的定义文件就可以了,这也是我们最常用的C++标准重用方法。就拿我自己来说,在CodeProject上遇到比较好的控件代码,都是这样直接用到自己的项目中来的。 下面就给出原创 2008-08-25 16:46:00 · 731 阅读 · 0 评论 -
Bitwise Operation Explained
原文链接:Bitwise Operation Explained1.统计一个数置位为1的个数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdio.h>int __numOf_SET_Bits(int var)原创 2008-08-22 09:46:00 · 744 阅读 · 0 评论 -
《C++标准程序库》读书笔记(三)
STL中的智能指针auto_ptr可以实现简单的内存自动回收,防止内存泄漏(memory leakage)。auto_ptr实际是一个类,在该类析构时自动调用delete,从而达到了内存回收的效果。但是,由于同一个指针同一时刻只能被一个auto_ptr占用,如果采用赋值操作(=)或者拷贝构造函数调用,就会发生所有权转移,例如:Code highlighting produce原创 2008-08-19 21:46:00 · 500 阅读 · 0 评论 -
【译】TetroGL: An OpenGL Game Tutorial in C++ for Win32 Platforms - Part 2 (下)
原文链接:TetroGL: An OpenGL Game Tutorial in C++ for Win32 Platforms - Part 2 CImage类 现在我们来看看CImage类究竟是如何使用纹理图片的.早前已经看到,用户无法直接对CTexture对象进行操作.这是因为它仅仅是对一个资源文件进行包装,而这样的文件可以由多个图片组成:假设你想在游戏中显示各种类原创 2008-08-19 17:46:00 · 791 阅读 · 0 评论 -
【译】TetroGL: An OpenGL Game Tutorial in C++ for Win32 Platforms - Part 2 (上)
原文链接:TetroGL: An OpenGL Game Tutorial in C++ for Win32 Platforms - Part 2 在这个系列的第一部分中,作者介绍了窗口的创建以及OpenGL环境的创建,在接下来这一部分中,作者将介绍如何处理游戏中的资源以及如何显示简单的动画简介 这个系列的第一篇文章关注于窗口的创建和OpenGL环境的创建,本文原创 2008-08-19 17:46:00 · 947 阅读 · 0 评论 -
《C++标准程序库》读书笔记(二)
1,下面这段代码会引起异常,因为所有权已经转移,而通过by reference方式传递auto_ptr更是糟糕的若改为: const auto_ptrint> p(new int);则会在编译时提示错误.因此我们可以通过常数型auto_ptr来终结所有权转移,它并不是表示你不能更改auto_ptr所拥有的对象,而是不能更改auto_ptr的拥有权,就此特性而言,它比较类似常数指针,而不原创 2008-08-19 10:46:00 · 588 阅读 · 0 评论 -
《C++标准程序库》读书笔记(一)
1,很多编译器都要求模板的定义和实现都在头文件中,这是因为必须先为他提供某个实现品,然后才能调用,也只有如此才能通过编译。目前唯一能让“template的运用”具有可移植性的方式,就是在头文件中以inline function实现temlate function。2,下面typename指出SubType是T中定义的一个型别,若不用这个关键字,则编译器会认为是两个数相乘,而不是原创 2008-08-18 22:46:00 · 599 阅读 · 0 评论 -
我的书架:COM组件开发
推荐几本个人读过的比较不错的COM组件相关的书籍,按我的阅读感受排名如下:1,《Visual C++实践与提高-COM和COM+篇》 这本书我放在第一位,倒不是它有多么出色,但我却认为它是最适合新手的。它的内容基本都是抄袭下面潘爱民那本《COM原理与应用》的,但我推荐它有两点原因,首先,基本照搬潘那本书的原理性的东西,但加入了许多实例,比前者纯理论的书要易读些,原创 2008-08-08 14:46:00 · 912 阅读 · 1 评论 -
COM组件开发实践(三)
前面两篇文章分别介绍了MFC ActiveX应用程序和使用ATL开发ActiveX的简单实例,但还有两个问题需要解决:1)标记ActiveX控件为安全的控件 2)对控件进行数字签名。本文将结合这两点进行简单的介绍。Building a Safe ActiveX Control 如何不想办法将控件标记为安全的,就会在Web页面与控件进行交互时出现如下图的警告信原创 2008-08-07 22:46:00 · 736 阅读 · 0 评论 -
COM组件开发实践(二)
假设需求如下:底层是一个数学运算库DLL,中间是ActiveX控件(它调用底层的数学运算库DLL来完成控制层),界面层在测试时可以是一个exe程序,最后发布到IE浏览器上测试。 数学运算库DLL的开发 新建一个Win32 DLL项目,加入一个头文件MyNum.h,在其中声明所有的数学函数(为简单起见,本文只考虑加法运算),代码如下:Code highlig原创 2008-07-28 17:46:00 · 787 阅读 · 0 评论 -
COM组件开发实践(一)
Preface 因为项目需要,开始从事ActiveX方面的工作,看了一些资料,可惜都是些COM原理方面的,没有切合实际动手的东西,在CodeProject上读完David Marcionek的文章【1】后,收获良多,但也遇到一些恼人的小问题,因此在其基础上就一些易错点做些小注解。本文版权归David Marcionek所有。简介 本文目的在于让你快速掌握Act原创 2008-07-25 22:46:00 · 885 阅读 · 1 评论 -
C++ Exercises(十七)--图的简单实现
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->const int MAXSIZE = 50; //顶点最大数目#include vector>using namespace std;templatetypename T>原创 2008-07-23 21:47:00 · 556 阅读 · 0 评论