
C/C++
文章平均质量分 81
hzsjun
这个作者很懒,什么都没留下…
展开
-
mq c++ windows环境编译运行说明
Active MQ C++实现通讯Kagula2011-9-13简介在参考资料[2]的基础上介绍如何用C++调用Active MQ的客户端API。环境:[1]Windows XP SP3 [2]Visual Studio 2008 SP1阅读前提:[1]熟悉Microsoft Visual Studio下的C++编程 [2]熟悉《Act转载 2017-08-27 11:00:10 · 2309 阅读 · 0 评论 -
sqllite
http://sqlitewrapper.kompex-online.com/index.php?content=home原创 2013-04-19 12:46:24 · 482 阅读 · 0 评论 -
windows C++ 资源形式实现多语言版本 .
越来越多的程序支持多语言切换,或者能自动适应当前系统语言,让自己开发的程序支持多语言不仅可以让自己的程序被国人使用,也能让外国程序爱好者使用。VC开发多语言程序有多种方法,或读取配置文件,或使用不同资源DLL等等。这里介绍以资源形式实现多语言版本。1.打开Visual Studio 2008,新建一个基于对话框工程,名称为LanguageTest,不使用Unicode库 ,资源语言一共有十转载 2013-04-14 19:49:33 · 2311 阅读 · 0 评论 -
Duilib入门文档
<RichEditname="testrichedit" bordercolor="#FF0000"bordersize="0" borderround="18,18"inset="4,2,4,2" bkcolor="#A0F2F5FA"bkcolor2="#A0FF0000" bkcolor3="#A0F2F5FA" font="1"multiline="true" vscrollbar="tr转载 2013-03-08 14:30:36 · 1306 阅读 · 0 评论 -
duilib学习笔记
前段时间对皮肤引擎比较感兴趣,于是在VS第一人称快的无法直视的dot大神推荐下,看了一个小巧又好用的皮肤引擎:duilib。1. duilib简介duilib是一个开源的DirectUI界面库,简洁但是功能强大。而且还是BSD的license,所以即便是在商业上,大家也可以安心使用。现在大家可以从这个网站获取到他们所有的源码:http://code.google.com/p/duili转载 2013-03-08 13:57:39 · 1509 阅读 · 0 评论 -
Duilib中各个类的简单介绍
DirectUI意为直接在父窗口上绘图(Paint on parent dc directly)。即子窗口不以窗口句柄的形式创建(windowless),只是逻辑上的窗口,绘制在父窗口之上。微软的“DirectUI”技术广泛的应用于Windows XP、Vista、Windows 7,如浏览器左侧的TaskPanel,控制面板导航界面,Media Player播放器,即时通讯工具MSN Messa转载 2013-03-08 13:28:24 · 866 阅读 · 0 评论 -
duilib库分析: 消息流程分析
看下CWindowWnd类与CPaintManagerUI类是咋进行消息分发的吧.1. 先看下CPaintManagerUI类的MessageLoop函数:[cpp] view plaincopyprint?void CPaintManagerUI::MessageLoop(){ MSG msg = { 0 }; while( ::GetMess转载 2013-03-08 13:23:31 · 772 阅读 · 0 评论 -
Duilib之源码分析
《duilib之源码分析》1 stdAfx.h* lengthof(x) 计算数组长度宏* MAX 两值最大* MIN 两值最小* CLAMP(x,a,b) x在a,b之间则取x否则取最小2 UIBase* UI_WNDSTYLE_ 窗口风格属性* UI_CLASSSTYLE_ 窗口类属性* TRACE(LPCTSTR pstrFormat, ...)功能转载 2013-03-08 13:26:48 · 940 阅读 · 0 评论 -
C/C++笔试题 (三)
1、写一个“标准”宏,这个宏输入两个参数并返回较小的一个。.#define Min(X, Y) ((X)>(Y)?(Y):(X))//结尾没有;2、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。while(1){}或者for(;;)3、关键字static的作用是什么?定义静态变量4、关键字const有什么含意?表示常量不可以修改的变量。5、关键字volati转载 2013-01-12 20:31:59 · 1619 阅读 · 0 评论 -
C/C++笔试题 (二)
12 . 下面的代码输出是什么,为什么?void foo(void){ unsigned int a = 6; int b = -20; (a+b > 6) ? puts("> 6") : puts("}这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是 ">6"。原因是当表达式转载 2013-01-12 20:30:49 · 2842 阅读 · 0 评论 -
C/C++笔试题 (一)
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范转载 2013-01-12 20:28:45 · 697 阅读 · 0 评论 -
关键字typedef用法
C/C++语言中的typedef相信大家已经不陌生,本文对C/C++语言关键字typedef的各种用法作一个介绍。typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。例如:typedef unsigned int UINT;int main (int argc, char *argv[]){转载 2013-01-11 20:52:28 · 331 阅读 · 0 评论 -
ASCII码表
ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。 八进转载 2013-01-11 20:46:38 · 282 阅读 · 0 评论 -
C++获取目录下的文件列表
#include iostream> #include io.h> #include direct.h> #include string> #include vector> #include iomanip> #include ctime> using namespace std; void getFiles(原创 2013-05-15 18:02:06 · 616 阅读 · 0 评论 -
win32 获取文件目录对话框
char path[MAX_PATH]; BROWSEINFO bi;//保存用户选择的目录信息 bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayName = NULL; bi.lpszTitle = NULL; bi.ulFlags =原创 2013-05-20 09:46:17 · 811 阅读 · 0 评论 -
GetOpenFileName 函数打开多个选择文件
OPENFILENAME ofn;TCHAR szFile[8 * MAX_PATH];TCHAR szPath[MAX_PATH];TCHAR szCopy[MAX_PATH];TCHAR *pFilePath; ZeroMemory(&ofn, sizeof(ofn));ofn.lStructSize = sizeof(ofn);ofn.lpstrFile原创 2013-05-20 10:14:13 · 2394 阅读 · 0 评论 -
QT vs2010 win7 64 环境编译
一、参考参考网页:Afai:http://blog.youkuaiyun.com/sircarfield/article/details/25534701李民录:http://blog.youkuaiyun.com/liminlu0314/article/details/17400075唐小曼:http://www.mancoding.com官方帮助:原创 2014-12-29 16:22:05 · 1261 阅读 · 0 评论 -
如何使用动态链接库中的资源
近来在论坛上很有多帖子问到如何使用DLL中的资源(包括对话框,图标等)的问题,现在笔者就来就此问题谈谈,包含在DLL内部使用资源,DLL中使用其它DLL中的资源和在应用程序中使用资源。 我们先以图标为例说起(其它的资源与此图标的加载原理大致相同),我们要加载图标,一般是调用AfxGetApp()->LoadIcon(…);下面是CWinApp::LoadIcon的实现(afxw原创 2014-08-25 09:07:01 · 957 阅读 · 0 评论 -
c++模板类/模板函数的声明与定义应该放在头文件里
c++模板类/模板函数的声明与定义应该放在头文件里,不要分开来写类中函数的声明与定义(比如在.H文件里声明某个成员函数,在.CPP文件里定义该成员函数),这样会导致连接错误。所应该将模板类/模板函数的定义与声明写在一个.h文件里。比如在类的头文件声明了一个函数 template void fun(T a);然后在另一个CPP 文件里 实现该函数template vo原创 2014-06-05 13:34:06 · 2440 阅读 · 1 评论 -
经过离散点画平滑曲线(贝塞尔3次)
穿过已知点画平滑曲线(3次贝塞尔曲线) 2011-04-11 18:598469人阅读评论(9)收藏举报float数学计算variables图形搜索引擎bi为了把一串点连成光滑的曲线,先研究贝塞尔曲线,又搞B样条插值。。。。都没有成功(数学没那么强)。后来在 “[翻译] AGG 之贝塞尔插值”http://liyiwen.javaeye.com/blog原创 2014-05-04 09:09:21 · 16994 阅读 · 3 评论 -
经过已知离散点画平滑曲线算法(样条曲线插值法)
一样条概述在绘图术语中样条是通过一组指定点集而生成平滑曲线的柔性带 。术语 样条曲线 spline curve绘制样条曲线的方法是给定一组称为控制点的坐标点,可以得到一条样条曲线。样条曲线分为:1 插值样条曲线(interpolate) 生成的样条曲线通过这组控制点。(这是我们详细研究的)2 逼近样条曲线(approximate) 生面的样条曲线不通过或通过部分控制点原创 2014-05-04 09:19:21 · 21569 阅读 · 0 评论 -
去除vs2010中VA拼写检查引起的红色波浪线
原创 2014-02-12 16:52:08 · 1879 阅读 · 0 评论 -
libcurl教程
原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.youkuaiyun.com/JGood ) 译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对libcurl的理解,参考原文写成。文中用到的一些例子,可能不是出自原文,而是笔者在学习过程中转载 2014-01-24 17:15:21 · 548 阅读 · 0 评论 -
VC2010 编写windows service 服务程序
选择alt工程模板,输入名字TestService 点ok后,出现下面界面 直接点Next,出现下一界面选Service。 到此,创建windows service工程完成。在TestService.cpp中增加下面的代码(红色) // TestService.cpp : Implementation of WinMain#include转载 2013-12-23 16:15:32 · 921 阅读 · 0 评论 -
Atl 编写windows服务程序
有时候,我们需要自己写的程序在没有用户登陆的情况下,只要Windows系统启动就运行,那我们可以把我们的程序写成一个Windows服务。 服务是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行。下面,我将用一个简单的例子说明如何用ATL来编写Windows服务程序。首先,我们新建一个Pro转载 2013-12-23 15:47:52 · 1496 阅读 · 1 评论 -
vs2010 技巧(初始化vs)
1.关闭所有 Visual Studio 2010 实例。 2.单击“开始”,选择“运行...”。 3.键入“devenv.exe /resetuserdata”。 此命令会运行几分钟时间,与此同时,Visual Studio 清除设置并将其自身重置到其最初的状态。此时,您可以打开“任务管理器”来检查 devenv.exe 进程是否仍在运行。在结束运行后,可以重新启动 Visual S原创 2013-11-05 15:14:13 · 810 阅读 · 0 评论 -
libcurl部分总结
curl是开源的东西,主要用于页面下载和上传1、对于页面跳转的网站,最好先用sniffer把http数据包全部抓下,分析协议头,尤其是要对应好post后的url地址,以及记住cookie中的session_id(情况根据各网站会有所差别)。2、 curl_easy_setopt(curl,CURLOPT_POST,1);使用POST方式3、curl_easy_setopt(cu转载 2013-09-27 18:53:23 · 853 阅读 · 0 评论 -
vs扩展插件
Report Abuse to Microsoft Indent Guides 代码段范围添加对齐参考线 Brace Completer 回车自动添加 } MiddleClickToDefinition 鼠标中键跳转到定义Go To Definition ctrl+鼠标左键 跳转到定义原创 2013-07-19 11:24:12 · 781 阅读 · 0 评论 -
C语言运算符优先级 详细列表
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名转载 2013-01-11 20:48:13 · 363 阅读 · 0 评论 -
2013.01面试总结
1.找出链表的倒数第m个节点2.带指针成员变量的函数需要重写拷贝构造函数、赋值操作符、构造函数、析构函数3.找出10000个double型数中最小的100个(nth_element(val.begin(), val.begin() + m - 1, val.end());)4.从一组数中找出最大的一个子列(1,-2,3,4,-3)(3,4)5.统计一个整数中各数字出现的次数(思路:原创 2013-01-25 00:38:49 · 295 阅读 · 0 评论 -
C++ 对象的内存布局(上) .
前言对象的影响因素知识复习单一的一般继承多重继承C++ 对象的内存布局(上) 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的转载 2012-12-09 18:40:17 · 290 阅读 · 0 评论 -
C++内存对象大会战
评论:做c c++的如果不了解内存,那太可怕了,曾经就见识过这样的“天才”,在构造里面new 对象的,在析构里面不释放的,不处理异常内存的,不判断边界的等等,既然把开发当做饭碗就得好好理解一下内存和算法的艺术!转自 C++内存对象大会战 如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为转载 2012-12-09 18:38:40 · 298 阅读 · 0 评论 -
C++对象的内存分析(6)
前言 本节讨论构造函数,析构函数和虚析构函数。可能很多人都有这样的经历,面试时经常被问到:什么情况下要使用虚析构函数,为什么要使用虚析构函数?本文将试图对编译器的实现机制进行分析,来回答这个问题。 构造函数和析构函数的调用链 我们从例子来分析,首先我们来看下面这个继承链: 代码如下:[cpp] view plai原创 2012-12-09 18:35:12 · 459 阅读 · 0 评论 -
C++对象的内存分析(4)
前言 本章节是4个课题的最后一个,我们将讨论多重继承情况下,对象内存的布局。阅读本文,请思考下面的问题:当子类从多个基类继承,虚函数指针和成员变量将如何布局?编译器如何进行子类和基类之间类型转换?如果多个基类具有同样的虚函数,子类选择哪个实现来调用?如果子类重写该虚函数,那么它覆盖的是哪个基类的实现呢? 多重继承 我们将分析这样的例子:CFinal类继承自CBa转载 2012-12-09 18:31:49 · 391 阅读 · 0 评论 -
C++对象的内存分析(3)
前言 在第二节我们讲到从带虚函数的基类继承的子类,有一个虚函数指针在对象的最前端。但是,如果基类没有虚函数而子类有呢?阅读本节请思考下面的问题:没有虚函数的基类,会有虚函数指针和虚函数表吗?从该类继承的子类,内存中的元素如何布局。 Subject3:从不带虚函数的基类继承的子类 我们把上一节的CBasic类的2个虚函数删除,CFinal从CBasic类继承并增加新的虚函转载 2012-12-09 18:30:23 · 276 阅读 · 0 评论 -
C++ Bost库基本内容概述
C++编程语言是一款功能强大的计算机应用语言,不但能对C语言中的各种功能提供支持,而且还可以对多种程序设计风格提供支持。我们今天为大家介绍的C++ Bost库是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。C++ ma转载 2012-12-09 18:21:54 · 590 阅读 · 0 评论 -
窗口淡入淡出效果的实现 .
1. 简介函数: SetLayeredWindowAttributes HeaderDeclared in Winuser.h, include Windows.hImport libraryUser32.libMinimum operating systemsWindows 2000所以在98系统下,并不支持转载 2012-12-09 18:51:35 · 997 阅读 · 0 评论 -
TCP三次握手/四次挥手详解 .
1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。(2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。2、连接终止协议(转载 2012-12-09 18:48:23 · 226 阅读 · 0 评论 -
C++虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过转载 2012-12-09 18:46:54 · 272 阅读 · 0 评论 -
C++内存使用机制基本概念详解 .
1.程序使用内存区一个程序占用的内存区一般分为5种:(1)全局、静态数据区:存储全局变量及静态变量(包括全局静态变量和局部静态变量)(2)常量数据区:存储程序中的常量字符串等。(3)代码区:存储程序的代码。(4)栈:存储自动变量或者局部变量,以及传递的函数参数等。(5)堆:存储动态产生的数据。在处理内存时,系统会自动将内存对齐,这样虽然会浪费一些内存,但由于CPU在对齐转载 2012-12-09 18:39:18 · 360 阅读 · 0 评论