Ark_Zhang

导航

 

2014年8月14日

摘要: 原因是因为安装了64位的mysql,而开发工具室32位的,需要安装32位的开发库就可以了 阅读全文
posted @ 2014-08-14 09:41 Ark_Zhang 阅读(159) 评论(0) 推荐(0) 编辑
 

2014年8月4日

摘要: 查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程。本人常用windows系统,所以主要讲解下windows下相关的内容要使用doxygen生成漂亮的调用关系图,那就必须安装下图形生成工具graphviz软件,要通过html生... 阅读全文
posted @ 2014-08-04 16:37 Ark_Zhang 阅读(464) 评论(0) 推荐(0) 编辑
 

2014年8月1日

摘要: Administrator has detected that this is a terminal server session.Administrator does not support running in this environment. Click OK to exit.解决办法htt... 阅读全文
posted @ 2014-08-01 18:21 Ark_Zhang 阅读(160) 评论(0) 推荐(0) 编辑
 

2014年7月7日

摘要: 一、编译boost库第一步:下载boost库,下载地址http://sourceforge.net/projects/boost/files/boost/1.55.0/第二部:解压boost库,例如解压到F:\Third-party libs\boost\boost_1_55_0第三部:开始->程序... 阅读全文
posted @ 2014-07-07 14:57 Ark_Zhang 阅读(1782) 评论(0) 推荐(0) 编辑
 

2014年6月17日

摘要: 最近遇到下面类似的问题[html]view plaincopy我下载了最新版本(1.1.2)版本的ffmpeg,在windows平台下使用msys+mingw编译成功后,我输入命令后,一点输出信息都没有,例如:ffmpeg-v这时候控制台应该能输出版本信息,以及如何编译和配置ffmpeg的,至少0.... 阅读全文
posted @ 2014-06-17 13:56 Ark_Zhang 阅读(747) 评论(0) 推荐(0) 编辑
 
摘要: 网上关于编译ffmpeg的帖子很多,我也尝试了很多次,但是很多都过不了,一部分原因是版本问题,还有就是有的路劲没说的太明白导致的,经过一天的摸索,最终编译好了,下面把编译方式写下来,希望对看到帖子的人有帮助,特别感谢:http://www.cnblogs.com/zzugyl/p/3186170.h... 阅读全文
posted @ 2014-06-17 13:45 Ark_Zhang 阅读(1126) 评论(1) 推荐(1) 编辑
 

2014年5月21日

摘要: 一、Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 Nagios原名为NetSa... 阅读全文
posted @ 2014-05-21 10:08 Ark_Zhang 阅读(211) 评论(0) 推荐(0) 编辑
 

2013年10月28日

摘要: 很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法:1. 首先要New一个CToolTipCtrl的对象m_pContentTip2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为this。一般设为this。m_pContentTip->Create( this, TTS_ALWAYSTIP );3. AddTool。此函数是设置与某个控件关联的Tip文本。此处可以为多个控件添加不同的提示信息。 m_pButtonTip->AddTool( GetDlgItem( 控件ID ), 文本 );//#add 一定要用AddToo 阅读全文
posted @ 2013-10-28 09:10 Ark_Zhang 阅读(236) 评论(0) 推荐(0) 编辑
 

2013年8月22日

摘要: 要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数 阅读全文
posted @ 2013-08-22 15:55 Ark_Zhang 阅读(202) 评论(0) 推荐(0) 编辑
 

2013年8月15日

摘要: 我们经常在用vs2005做项目的时候会把一个项目分成几个模块(不管是对于功能上,还是系统构架上面),为的是以后部署,还有修改维护时候的方便。这样就会带来一个问题,随着模块的增加(这里所说得每个模块就是指每个项目),我们如果依赖IDE的话,每次都得从源代码管理器读取最新得版本,进行编译。然而IDE加载得时候会加载很多必须得文件,这样就大大浪费了时间。再有就是我们不能一次都把这些项目都编译了。我们不得不重复着打开编译这样的顺序。这里也许大家会想到nant,但是nant不支持.net2.0(听说是被微软收购了...)不管怎样MS给我们提供了具有同样功能的工具:MSBuild ,该工具位于:(前提是装 阅读全文
posted @ 2013-08-15 14:48 Ark_Zhang 阅读(3225) 评论(2) 推荐(1) 编辑
 

2013年8月9日

摘要: 前段时间将一个项目由vc6.0转为vs2005,发现了有些对象的地址奇怪变化的问题,细查之下发现出现了#pragma pack乱用的问题,在恢复内存对齐使用了#pragma pack(pop, 1)的错误,估计程序设计者最初没有注意到这个问题,不过很奇怪的是vc6.0却没有出现这个问题,总结一下#pragma pack使用的规范,避免以后乱用。#pragma pack作用:指定结构体、联合以及类成员的packing alignment;语法:#pragmapack( [show] | [push | pop] [, identifier], n )说明:1, pack提供数据声明级别的控制,对 阅读全文
posted @ 2013-08-09 08:46 Ark_Zhang 阅读(883) 评论(0) 推荐(0) 编辑
 

2013年7月23日

摘要: 属性WindowFrameDialog模式化不是不是不是(可设置)可调大小不可可可标题栏无有有边界无有有标题无有有菜单栏无有无焦点管理器有有有警告字符串有有有图表无 有无 定位到框架可不可可 阅读全文
posted @ 2013-07-23 14:23 Ark_Zhang 阅读(569) 评论(0) 推荐(0) 编辑
 
摘要: 如果在创建窗口的时候你没有指定窗口的边框类型,那么在不同的平台上将会有不同的边框类型的缺省值。在windows平台上,控件边框的缺省值为 wxSUNKEN_BORDER,意为使用当前系统风格的边框。你可以使用类似wxNO_BORDER这样的值来覆盖系统的默认值。wxSIMPLE_BORDER在窗口周围显示一个瘦边框.wxDOUBLE_BORDER显示一个双层边框.wxSUNKEN_BORDER显示一个凹陷的边框,或者使用当前窗口风格设置.wxRAISED_BORDER显示一个凸起的边框.wxSTATIC_BORDER显示一个适合静态控件的边框. 只支持Windows平台.wxNO_BORDER 阅读全文
posted @ 2013-07-23 14:17 Ark_Zhang 阅读(2199) 评论(0) 推荐(0) 编辑
 

2013年7月18日

摘要: 相信有一点专业知识的人都知道,C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。在很大程度上,标准C++是标准C的超集。实际上,所有C程序也是C++程序,然而,两者之间有少量区别。下面是最重要的区别:结构是C的一部分,C++从C中继承了结构,在语法上,类与结构十分相似,在关系上,这两者也很接近,在C++中,结构的作用被拓宽了,进而使结构成为了类的一种替代方法。实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的。除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型。C++同时包含这两个等价的关键字struct与c 阅读全文
posted @ 2013-07-18 09:41 Ark_Zhang 阅读(6634) 评论(0) 推荐(0) 编辑
 

2013年7月17日

摘要: C++ explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: 1 #include "stdafx.h" 2 3 class A 4 { 5 public: 6 A(int n) {m = n;} 7 private: 8 int m; 9 };10 11 int _tmain(int argc, _TCHAR* ar 阅读全文
posted @ 2013-07-17 17:43 Ark_Zhang 阅读(632) 评论(0) 推荐(0) 编辑
 

2013年6月19日

摘要: 首先说明这个问题由于重复定义引起的编译错误。先说明解决方法,然后再说是什么原因导致了这个问题。解决方法:下列任何一种方法都可以。1. 在所有包含windows.h的代码之前加上#define WIN32_LEAN_AND_MEAN2. 或者直接在工程的properties( vc6 以上)/Setting(vc6) -> c/c++ -> preprocessor 中添加WIN32_LEAN_AND_MEAN问题根由:因为windows.h中包含了<winsock.h>,这个是早期版本(windows socket 1.1)的windows socket 的头文件,而当 阅读全文
posted @ 2013-06-19 16:17 Ark_Zhang 阅读(6244) 评论(1) 推荐(0) 编辑
 

2013年6月18日

摘要: 第一篇 jthread的编译与分析jrtplib代码依赖库jthread,因此先从jthread开始jrtplib的学习。首先从以下链接下载jthread的源代码http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthreadjthread当前最新的版本是1.3.1,因为我的开发环境是windows,因此下载zip压缩包并解压。jthread的设计目的是能够跨系统使用线程的代码,jthread的使用代码作者在使用手册里已做了简单的说明。解压后看到jthread的代码结构其实很简单,主要实现jthread、JMutex、JMute 阅读全文
posted @ 2013-06-18 13:48 Ark_Zhang 阅读(1818) 评论(0) 推荐(0) 编辑
 

2013年6月17日

摘要: 一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须先打破鸡蛋较小的一端,违令者重罚。然后老百姓对此法令极为反感,期间发生了多次叛乱,其中一个皇帝因此送命,另一个丢了王位,产生叛乱的原因就是另一个国家Blefuscu的国王大臣煽动起来的,叛乱平息后,就逃到这个帝... 阅读全文
posted @ 2013-06-17 16:27 Ark_Zhang 阅读(220) 评论(0) 推荐(0) 编辑
 

2013年5月23日

摘要: 1 #pragma once 2 #include <Windows.h> 3 4 typedef enum THREAD_STATUS 5 { 6 THREAD_RUN = 1, 7 THREAD_PAUSE = 2, 8 THREAD_STOP = 3, 9 }THREAD_STATUS;10 11 class CThread12 {13 public:14 CThread(void);15 ~CThread(void);16 17 //创建线程18 virtual long create(LPTHREAD... 阅读全文
posted @ 2013-05-23 13:57 Ark_Zhang 阅读(389) 评论(0) 推荐(0) 编辑
 
摘要: 1 #ifndef AZ_PRINTSCREEN_H 2 #define AZ_PRINTSCREEN_H 3 4 #define WIN32API __declspec(dllexport) 5 6 /*********************************************************************************************** 7 *函数名 : AZ_PRINTSCREEN_GetScreenRGB 8 *函数功能描述 : 获取屏幕指定位置图像为RGB数据 9 *函数参数 : (I)nx-开始位置x 10... 阅读全文
posted @ 2013-05-23 13:47 Ark_Zhang 阅读(8542) 评论(1) 推荐(0) 编辑
 
摘要: 1 int nHeight = rc.Height(); 2 int nWidth = 0; 3 //截图宽度必须为4的倍数 4 if (rc.Width()%4) 5 { 6 nWidth = (rc.Width()/4+1)*4; 7 } 8 else 9 {10 nWidth = rc.Width();11 }12 *height = nHeight;13 *width = nWidth;14 15 HWND hWnd = ::GetDesktopWindow();... 阅读全文
posted @ 2013-05-23 08:49 Ark_Zhang 阅读(601) 评论(0) 推荐(0) 编辑
 

2013年5月10日

摘要: 加载一位图,可以使用LoadImage:HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad);LoadImage可以用来加载位图,图标和光标加载时可以规定加载图的映射到内存的大小:cxDesired:指定图标或光标的宽度,以像素为单位。如果此参数为零并且参数fuLoad值中LR_DEFAULTSIZE没有被使用,那么函数使用目前的资源宽度。 cyDesired:指定图标或光标的高度,以像素为单位。如果此参数为零并且参数fuLoad值中LR_DEF 阅读全文
posted @ 2013-05-10 15:11 Ark_Zhang 阅读(8352) 评论(0) 推荐(2) 编辑
 

2013年4月28日

摘要: 基本点:1>指针 使用之前判定是否为空; 删除时注意是否应自己删除,且删除需置空;2>数组 使用下列操作时需做容器个数检查:front(),back(); 使用下列操作时需做数据越界检查: at(i),[i]<建议不要使用下标操作>;3>无符号整型 常见的有UINT, size_t 在给无符号整型赋值时应多注意不能小于0; 赋值操作中,循环中容易出错;切记不要用无符号整形与负数进行比较;4>除0 除数为变量是要做检查是否为0;5>变量初始化 坚持声明时初始化原则;6>double变量比较 与0比较时,注意变量是否是double类型,切记不能直接用 阅读全文
posted @ 2013-04-28 17:23 Ark_Zhang 阅读(352) 评论(0) 推荐(0) 编辑
 

2013年4月27日

摘要: CircularBuf.h 1 #ifndef CIRCULAR_BUF_H 2 #define CIRCULAR_BUF_H 3 4 #include <Windows.h> 5 6 #define MULTI_BUF_SIZE 10 7 #define MULTI_MIN_BUF_DATA_SIZE 5 8 9 class CCircularBuf10 {11 public:12 CCircularBuf(void);13 ~CCircularBuf(void);14 15 //... 阅读全文
posted @ 2013-04-27 10:17 Ark_Zhang 阅读(2041) 评论(0) 推荐(0) 编辑
 

2013年4月22日

摘要: <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">html { height: 100% }body { height: 100%; margin: 0; padding: 0 }#map_canvas { height: 100% }</style><script typ 阅读全文
posted @ 2013-04-22 16:52 Ark_Zhang 阅读(1370) 评论(0) 推荐(0) 编辑
 
摘要: <script type="text/javascript">function killerrors() { return true;}window.onerror = killerrors;</script> 使用方法:把以上代码加到你出错网页的head区域就可以了。 阅读全文
posted @ 2013-04-22 16:49 Ark_Zhang 阅读(207) 评论(0) 推荐(0) 编辑
 
摘要: View Code <!DOCTYPE html><html><head><script type="text/javascript">function killerrors() { return true;}window.onerror = killerrors;</script> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type=" 阅读全文
posted @ 2013-04-22 16:38 Ark_Zhang 阅读(869) 评论(0) 推荐(0) 编辑
 

2013年4月19日

摘要: 基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。2、 RogueWave Standard C++ Library参考站点:http://www.roguewave.com这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的 阅读全文
posted @ 2013-04-19 10:37 Ark_Zhang 阅读(244) 评论(0) 推荐(0) 编辑
 

2013年4月18日

摘要: 在运行中转换对话框类型需要用到的属性Dialog FrameWS_CAPTION | WS_POPUP | WS_SYSMENU | WS_CLIPSIBLINGS |DS_MODALFRAMEWS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGEThin比Dialog Frame缺少一个扩展属性WS_EX_DLGMODALFRAMENone比Dialog Frame缺少WS_CAPTION | DS_MODALFRAME比Dialog Frame缺少扩展属性WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGEResizing比Dialog Fra 阅读全文
posted @ 2013-04-18 18:20 Ark_Zhang 阅读(3241) 评论(0) 推荐(0) 编辑
 

2012年12月13日

摘要: DirectDraw基础篇(学东西还是基础的好哦!)第一节 DirectDraw简介Grubers的一个观点是DirectDraw“只是一个bltting发动机”。这是相当准确的,但却太简化了。更准确地讲,DirectDraw是一个可以提供软件仿真测试的独立于硬件设备的bltting发动机。DirectDraw的主要用途是尽可能快、尽可能可靠并且尽可能连续地将图形考贝到视频显示设备上。 另外一个定义DirectDraw的方式是把它作为一个视频存储器管理器,同常规的存储器管理器一样,DirectDraw发放存储器信息包,跟踪每一个信息包的状态。信息包可以随意地创建、复制、修改或破坏,同时这些.. 阅读全文
posted @ 2012-12-13 11:33 Ark_Zhang 阅读(1138) 评论(0) 推荐(0) 编辑
 

2012年11月28日

摘要: 一、下载msys环境,可以直接到这里下载http://msys-cn.googlecode.com/files/MSYS-Update.7z,解压即可我从来没用过msys,所以后面还会遇到一些看来稀奇古怪的问题,如果你很熟悉,也许不算问题。例如:安装在C:\work\h264\MSYS-Update下了二、下载最新的x264代码,可以到这里下载http://www.videolan.org/developers/x264.html解压到MSYS目录下home文件(没有的话创建)下C:\work\h264\MSYS-Update\MSYS\home\x264-snapshot-20120801- 阅读全文
posted @ 2012-11-28 18:08 Ark_Zhang 阅读(2916) 评论(0) 推荐(0) 编辑
 
摘要: 调用fwrite函数时,如果碰到换行符(0x0A),编译器会自动转换为回车换行符(0x0D 0x0A),然后写入文件。这样写入文件的数据就会与原始数据有差异。 阅读全文
posted @ 2012-11-28 14:14 Ark_Zhang 阅读(394) 评论(0) 推荐(0) 编辑
 

2012年11月22日

摘要: 用VS2005调用ffmpeg库编写应用程序(使用方法可以参考网上的相关文章),这里提一下三个问题的解决:第一,解决:Cannot open include file: 'inttypes.h'更新ffmpeg之后,有时编译应用ffmpeg库的工程会发现提示: Cannot open include file: 'inttypes.h': No such file or directory 的出错信息,可通过如下方法解决:1、找到include目录中的\libavutil\common.h2、在“#define AVUTIL_COMMON_H”之后加入如下代码, 阅读全文
posted @ 2012-11-22 08:03 Ark_Zhang 阅读(1688) 评论(0) 推荐(0) 编辑
 

2012年11月21日

摘要: 1. 注册所有容器格式和CODEC:av_register_all()2. 打开文件:av_open_input_file()3. 从文件中提取流信息:av_find_stream_info()4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO5. 查找对应的解码器:avcodec_find_decoder()6. 打开编解码器:avcodec_open()7. 为解码帧分配内存:avcodec_alloc_frame()8. 不停地从码流中提取出帧数据:av_read_frame()9. 判断帧的类型,对于视频帧调用:avcodec_decode_video()10. 解码完 阅读全文
posted @ 2012-11-21 08:40 Ark_Zhang 阅读(4252) 评论(0) 推荐(0) 编辑
 

2012年11月19日

摘要: yasm是汇编编译器,因为ffmpeg中为了提高效率用到了汇编指令,比如MMX和SSE。解决这个问题方面有两个:1、在网上下载一个yasm.exe并安装在mingw/bin下面,编译代码时你注意看,会发现asm后缀的文件用的编译器是yasm,c文件用的是gcc;2、不使用汇编指令,在配置时加上,即./configure--disable-yasmyasm下载地址:http://yasm.tortall.net/Download.html下载yasm-1.2.0-cygwin.exe改名后放到cygwin/bin下这样就可以继续编译了。 阅读全文
posted @ 2012-11-19 08:51 Ark_Zhang 阅读(309) 评论(0) 推荐(0) 编辑
 

2012年11月17日

摘要: 在编译u-boot的时候出现了这样的错误: Configuring for smdk2410 board... ln: creating symbolic link `asm' to `asm-arm': Operation not supported make: *** [smdk2410_config] Error 1 在网上查找原因得: 出现这类问题,主要是由于在编译的时候,要用ln去建立一些软链接, 而这些文件是从Windows中,通过VMWare虚拟机共享进Linux的, 而虽然此种操作在Linux系统中很常见,但Windows不支持,所以, 编译会报错。 有个解决办 阅读全文
posted @ 2012-11-17 09:47 Ark_Zhang 阅读(2231) 评论(0) 推荐(0) 编辑
 

2012年11月15日

摘要: Solution: 通过使能调试,可以解决该问题,具体步骤为:打开Project Properties展开 "Configuration Properties"展开 "C/C++"选择 "General",将 "Debug Information Format" 改为 "Program Database For Edit And Continue (/ZI)"选择 "Optimization",将 "Optimization" 改为 "Disab 阅读全文
posted @ 2012-11-15 14:32 Ark_Zhang 阅读(2001) 评论(0) 推荐(1) 编辑
 
摘要: Solution: 打开Project Properties,选择"Configuration Properties",将"Character Set"设为"No Set"。 阅读全文
posted @ 2012-11-15 14:31 Ark_Zhang 阅读(736) 评论(0) 推荐(0) 编辑
 

2012年11月10日

摘要: 一、ARM工作状态下的寄存器组织ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC(即R15)、一个状态寄存器都是可访问的。通用寄存器通用寄存器包括R0~R15,可以分为3类:(1)未分组寄存器R0~R7(2)分组寄存器R8~R14(3)程序计数器PC(R15)1.未分组寄存器R0~R7在所有运行模式下,未分组寄存器都指向同一个物理寄存器,它们未被系统用作特殊的用途.因此在中断或异常处理进行运行模式转换时,由于不 阅读全文
posted @ 2012-11-10 08:18 Ark_Zhang 阅读(318) 评论(0) 推荐(0) 编辑
 
摘要: 一、跳转指令。跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转。Ⅰ.使用专门的跳转指令。Ⅱ.直接向程序计数器PC写入跳转地址值。 通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用 MOV LR,PC等类似指令,可以保存将来的返回地址值,从而实现在4GB连续的线性地址空间的子程序调用。ARM指令集中的跳转指令可以完成从当前指令向前或向后的32MB的地址空间的跳转,包括以下4条指令:1、B指令B指令的格式为: B{条件} 目标地址 B指令是最简单的跳转指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的目标地址,从 阅读全文
posted @ 2012-11-10 08:12 Ark_Zhang 阅读(414) 评论(0) 推荐(0) 编辑