自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (4)
  • 收藏
  • 关注

转载 关于UTF8,UTF16,UTF32,UTF16-LE,UTF16-BE

Unicode是Unicode.org制定的编码标准,目前得到了绝大部分[请注意文明用语]作系统和编程语言的支持。Unicode.org官方对 Unicode的定义是:Unicode provides a unique number for every character。可见,Unicode所做的是为每个字符定义了一个相应的数字表示。比如,“a“的Unicode值是0x0061,“一”的 Uni

2012-10-12 16:37:43 1244

转载 DefineDosDevice函数控制虚拟驱动器

1、函数简介BOOL WINAPI DefineDosDevice(  __in          DWORD dwFlags,  __in          LPCTSTR lpDeviceName,  __in          LPCTSTR lpTargetPath);参数:DWORD dwFlags,该函数的控制标志,可取下列值:        DDD

2012-10-09 14:18:43 8187 2

转载 _T与L 的作用

VC _T的用途VC++里面定义字符串的时候,用_T来保证兼容性。VC++支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T。_t("hello world")在ansi的环境下,它是ansi的,如果在unicode下,那么它将自动解释为双字节字符串

2012-10-08 17:22:47 2028

转载 boost bind使用指南

bind - boost头文件: boost/bind.hppbind是一组重载的函数模板.用来向一个函数(或函数对象)绑定 某些参数. bind的返回值是一个函数对象. 它的源文件太长了. 看不下去. 这里只记下它的用法: 9.1 对于普通函数假如有函数 fun() 如下: void fun(int x, int y) {cout }现在我们看看怎么用

2012-09-17 14:44:58 777

转载 SQLite

SQLite 创建当前时间列(格林尼治标准时间)当前时间列,由于默认的时间是以格林尼治标准时间为基准的,因此在中国使用的话会正好早8个小时。方法1:create table log( content varchar(256), logtime datetime default (datetime('now'))) 方法2:create table log( content va

2012-08-21 17:14:07 3026

转载 std 异常

头文件C++标准异常类层次结构:std::exception基类std::logic_errorstd::domain_errorstd::invalid_argumentstd::length_errorstd::out_of_range破坏了逻辑条件的编程错误运行之前违例; 如系统不支持的情况下给函数传递了非法值试图创建的

2012-07-19 15:22:40 5860

转载 Boost之string算法库

标准库里的string虽然功能强大,但它还是缺少很多常用功能,如trim,大小写转换等。作为标准库的补充,Boost承担起了弥补这些缺点的任务,于是就有了Boost String Algorithms Library快速参考Boost.String Algo提供了标准库中没有提供的字符串操作功能,比如大小写转换,正则表达式查找等。它的命名规则是:如果函数是大小写无关的,则带有前缀i

2012-07-16 14:31:57 2228

转载 boost::string_algo

简介string algorithm是boost中提供字符串算法的类库。在这里,字符串不一定是std::basic_string,也可以是其它的stl容器或是c++中的零结尾字符串char*。例:std::string str("Hello");std::vectorchar> vstr(str.begin(), str.end());char *cstr=

2012-07-16 11:49:31 2877

转载 开源C++函数库Boost内存池使用与测试

Boost库是一个可移植的开源C++函数库,鉴于STL(标准模板库)已经成为C++语言的一个组成部分,可以毫不夸张的说,Boost是目前影响最大的通用C++库。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容,是一个“准”标准库。Boost内存池,即boost.pool库,是由Boost提供的一个用于内存池管理的开源C++库。作为Boost中影响较大的

2012-07-06 14:38:12 1289

转载 c++ explicit关键字

1、c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public:MyClass( int num );}

2012-06-27 10:33:05 627

转载 VS2010 + STLport + Boost 的编译使用

Visual Studio 2010 下编译使用 STLport 库和 Boost 库,需要做一些小处理,特记录一下:首先,下载、解压、安装,这个就不详细说明了,可以看下面的参考或者搜索一下就有很多了。然后,修改 “stlport\stl\_cstdlib.h” 文件,在 158 行附近找到下面的一行代码:[cpp] view plaincopy

2012-06-26 16:50:18 962

转载 关于字符集的专题知识 UTF-8 GB2312 UNICODE

此文介绍了UTF8和GB2312间的互换并提供代码,但是代码有误,现修改如下:class CChineseCodeLib  {public:static void UTF_8ToGB2312(string& pOut,char *pText, int pLen);static void GB2312ToUTF_8(string& pOut,char *pText, int pL

2012-05-03 13:55:47 661

转载 new分配内存

空间分配        接下来我们要考虑内存分配信息的组织问题了。我们先来了解一下编译器是怎么组织的。在大部分编译器中,new所分配的空间都要大于实际申请的空间,大出来的部分就是编译器定义的内存块的信息,包括了内存块的大小还有一些其他信息。如下图所示:        我们把包含内存分配信息的部分叫做cookie数据。为了方便,我们把cookie数据放在分配的内存的起始位置,之后紧接有效

2012-04-26 13:29:46 1691

转载 VS2010 VC Project的default Include设置

唉,好久没有写blog了。这两天刚装好VS2010试用,发觉VC10在Projecct Settings方面和以前不同了。一个最大的不同是:VC Directory设置的位置和以前的版本不一样。VS2010之前,VC Directory的设置都是在IDE的Tools->Options中设置的;VS2010改为,分别在每个项目中的Properties中设置。如下图:难道要每个项目

2012-02-24 18:23:44 976

转载 Doxygen详细介绍

1   序言    为代码写注释一直是大多数程序员有些困扰的事情。当前程序员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有答案。更头痛的是写文档,以及维护文档的问题,开发人员通常可以忍受编写或者改动代码时编写或者修改对应的注释,但之后需要修正相应的文档却比较困难。如果能从注释直接转化成文档,对开发人员无疑是

2012-02-24 10:31:25 14484 1

原创 warning C4273: dll链接不一致

方法1: 选择项目->属性->预处理器->预处理定义, 增加:HYCOMMONWINAPI_EXPORTS方法2:就是在#ifdef HYCOMMONWINAPI_EXPORTS#define HYCOMMONWINAPI_API __declspec(dllexport)#else#define HYCOMMONWINAPI_API __declspec(dllimp

2012-02-22 17:10:23 17081 3

转载 warning C4996: “strcpy”被声明为否决的解决办法

VC2005中,使用了很多标准的C函数,比如fopen,strcpy之类的。编译时会出现警告,比如这个:         d:\xxxx.c(1893) : warning C4996: “strcpy”被声明为否决的     紧接着IDE有提示说:“This function or variable may be unsafe. Consider using strcpy_s ins

2012-02-22 17:08:35 983

转载 Boost Thread学习笔记

Boost Thread学习笔记thread自然是boost::thread库的主 角,但thread类的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的编译选项的不同,分别决定使用 Windows线程API还是pthread,或者Macintosh Carbon平台的thread实现。以下只讨论Windows,即使用 BOOST_HAS_

2012-02-14 11:16:01 2665

转载 PowerDesigner 面向对象模型(OOM)说明

一.     OOM 简介Object-OrientedModel(OOM) 面向对象模型,一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概

2011-10-18 09:17:09 1451

转载 inf文件分析

安装信息(Setup Information)文件是Windows系统支持的一种安装信息存放文件,一般以INF作为扩展名,因此也叫INF文件。安装信息INF文件与Windows内建的安装服务引擎(API函数库)紧密协同工作,基于其严格的编写语法制作而成的INF文件在拷贝、删除文件

2011-10-11 14:51:32 731

原创 使用Boost.Asio编写通信程序

摘要:本文通过形像而活泼的语言简单地介绍了Boost::asio库的使用,作为asio的一个入门介绍是非常合适的,可以给人一种新鲜的感觉,同时也能让体验到asio的主要内容。本文来自网络,原文在这里。目录 [隐藏]ASIO的同步方式自我介绍示例代码

2011-09-15 10:34:10 943

原创 boost::weak_ptr和enable_shared_from_this

boost::weak_ptr 和 enable_shared_from_this shared_ptr 在我的实践中使用很广 , 在接口层面上 , 我基本都会默认的使用 shared_ptr. 而 weak_ptr 则很少使用 ; 即便使用 , 也是间接的使用 , 例如

2011-09-13 15:23:49 678

原创 用ASIO编写UDP通信程序

UDP协议ASIO的TCP协议通过boost::asio::ip名空间下的tcp类进行通信,举一返三:ASIO的UDP协议通过boost::asio::ip名空间下的udp类进行通信。我们知道UDP是基于数据报模式的,所以事先不需要建立连接。就象寄信一样,要寄给谁

2011-09-06 18:06:50 2292

原创 SysErrorMessage 函数和系统错误信息表

在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMe

2011-09-06 17:17:57 3187

原创 static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.

2011-08-25 14:45:51 389

转载 STL中用erase()方法遍历删除元素

STL中用erase()方法遍历删除元素     STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。

2011-08-11 13:52:00 762

原创 boost::time_wait的例子

boost的线程库不能强行终止,所以通过time_wait可以让其自然的结束 1 #include iostream> 2 #include boost/thread/thread.hpp> 3 #include boost/thread/mutex.hpp> 4 #include boost/thread/condition.hpp> 5 #include boost/date_time/pos

2011-06-23 10:46:00 2249

原创 程序运行时加载动态库cannot restore segment prot after reloc: Permission denied错误解决方法

  有时候我们使用一些开源库时,程序编译链接后生成可执行文件后运行会出现无法加载动态库的情况, view plaincopy to clipboardprint?./a.out: error while loading shared libraries: /usr/lib/libavutil.so.50: cannot restore segment prot after reloc: Permission denied      在网上搜索了一下解决方案,大概说的是一个关于安全性的东西SELINUX搞的鬼

2011-05-24 18:17:00 764

原创 C语言的数据类型

<br /><br />ANSI  C/C++基本数据类型:<br /><br />Type<br />Size<br />数值范围<br />无值型void<br />0 byte<br />无值域<br />布尔型bool    <br />1 byte<br />true   false<br />有符号短整型short [int] /signed short [int]<br />2 byte<br />-32768~32767<br />无符号短整型unsigned short [int]  <b

2011-04-13 14:27:00 619

原创 pirntf 和fprintf and 全局变量errno

<br />一 printf 和fprintf 的关系 <br />1 printf() <br />#include <stdio.h> <br />int printf( const char *format, ... ); <br />printf()函数根据format(格式)给出的格式打印输出到STDOUT(标准输出)和其它参数中.对于输出格式,有 <br />%c 字符 <br />%d 带符号整数 <br />%i 带符号整数 <br />%e 科学计数法, 使用小写"e" <br />%E

2011-03-29 10:13:00 1274

原创 Windows XP 启动过程详解

<br /><br /> <br />我们每天都在和 Windows 打交道,很多人可能每天都要面对多次 Windows 的启动过程,可是您知道在 Windows 的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文告诉您的。<br /> <br />随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件 CPU来说,目前就有很多选择。当然,这里的选择并不是说 AMD 或者Intel 这种

2011-03-28 14:26:00 1256

原创 Socket编程的面纱

<br />  对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:<br /><br />1.         什么是TCP/IP、UDP?<br />2.         Socket在哪里呢?<br />3.         Socket是什么呢?<br />4.         你会使用它们吗?<br /><br />什么是TCP/IP、UDP?<br />         TCP/IP(Transmission Control Pr

2011-01-25 16:35:00 596

原创 IPv4 和 IPv6 头部结构主要区别

<br />31                                     0<br />     |----|----|------|--|-------------------|----------<br />     |ver |ihl | -tos | -|    tot_len        |<br />     |----|----|------|--|-------------------|<br />     |       id          |  frag_off  

2011-01-18 10:00:00 2738

原创 Tcpdump的使用

tcpdump采用命令行方式,它的命令格式为:  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]           [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]           [ -T 类型 ] [ -w 文件名 ] [表达式 ]   1. tcpdump的选项介绍   -a    将网络地址和广播地址转变成名字;   -d    将匹配信息包的代码以人们能够理解的汇编格式给出;   -dd    将匹配信息包的代码以c语

2011-01-12 10:38:00 612

原创 利用VS2005进行dump文件调试

<br />前言:利用drwtsn32或NTSD进行程序崩溃处理,都可以生成可用于调试的dmp格式文件。使用VS2005打开生成的DMP文件,能很方便的找出BUG所在位置。本文将讨论以下内容:<br />1、  程序编译选项<br />2、  利用VS2005 分析dump文件<br />3、  常见问题讨论<br />一、       程序编译选项<br />PDB files contains all debug information like type definition and function

2010-12-13 11:10:00 822

原创 ioctl 设置非阻塞SOCKET函数

<br />windows 方法:<br />u_long mode = 0;<br />ioctlsocket(s,FIONBIO,&mode);<br />控制为阻塞方式。<br />u_long mode = 1;<br />ioctlsocket(s,FIONBIO,&mode);<br />控制为非阻塞方式。 <br /><br />setsockopt()  简述:<br />  设置套接口的选项。<br />  #include <winsock.h><br />  int PASCAL FA

2010-11-23 13:03:00 12831

原创 TFTP介绍2

<br />TFTP(TrivialFileTransferProtocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或X终端)。和将在第27章介绍的使用TCP的文件传送协议(FTP)不同,为了保持简单和短小,TFTP将使用UDP。TFTP的代码(和它所需要的UDP、IP和设备驱动程序)都能适合只读存储器。<br />(BootstrapProtocol)中还会遇到TFTP。在图5-1中,当从网络上引导sun主机时,也曾遇到过TFTP,sun主机通过RARP获得它的IP地址后,将发出一个T

2010-11-19 11:01:00 1108

原创 c格式化输出

<br />一、printf()函数<br />printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);<br /><br />其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出, 另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符用来确定输出内容格式。 <br />参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参

2010-11-15 17:23:00 8428

原创 linux下 用cpuid指令读取CPU信息

<br />#include<stdio.h><br /><br /><br />int main()<br />{<br />    unsignedint eflags1, eflags2 = 0;<br />    unsignedint eax = 0;<br />    unsignedint ebx,ecx,edx;<br /><br /><br /><br /><br />    /**<br />     * 测试CPU是否支持CPUID指令。<br />     * eflags寄存器的第

2010-11-03 17:07:00 11892 1

原创 VC项目配置基础

<br />一.预处理宏<br />1. 通用宏<br />VC6.0中:<br />Project SettingàC/C++àPreprocessor definitions<br />VC2005中:<br />项目属性à配置属性àC/C++à预处理器定义<br /> <br />WIN32:指明是Window 32位系统的编译器,一般用作平台识别。<br />_MBCS/_UNICODE:指明该工程使用的字符集(多字节字符集/UNICODE)。<br />在VC6.0的“Project Settin

2010-10-11 14:47:00 1244 1

INF文件格式参考

[Version] Signature="signature-name" Class=class-name ClassGUID=GUID Provider=INF-creator LayoutFile=filename.inf[,filename.inf]... signature-name 可以是 $Windows NT$, $Chicago$, or $Windows 95$ 中任意一种。如果不是三者之一,该INF不能被 Windows NT识别。签名字符串是大小写敏感的。 class-name 定义该INF文件安装的设备所对应的注册表中的类名。 GUID 可选项。定义设备的GUID值。Windows NT定义的GUID如下:

2011-10-11

Windows XP 启动过程详解

祥细描述了Windows XP 启动过程详解.

2011-09-27

总结DHCP协议

用了多年DHCP协议,总结DHCP协议心得。

2011-09-23

分析网页中数据自动并保存到数据库(源码+手册)

网页下载设置信息:  网页名称:用户给网页命名的名称。  URL:网子。  开始时间:在24小时制,网页下载的开始时间。  结束时间:在24小时制,网页下载的结束时间。  下载频率:包括下面几种类型 每天下载:指定数为0。 每周下载:指定数为1~7。 周制下载:指定数为0。表星期1~5下载 每月下载:指定数为1~31。 每隔几小时下载:指定数为1~23。 每隔几分钟下载 :指定数为1~59。  是否停止使用:如里网页不需要下载了,就选择止项。系统不会再下载这个网页。 数据库设置信息:  数据库IP:数据库服务器的地址。  数据库名称:数据库服务器的名称。  用户名称:连接数据库服务器的名称。  用户密码:连接数据库服务器的密码。  测试数据库:判断填写的数据库设置信息是否正确。  与服务DB相同:表示与系统数据库设置相同  步骤1:测试DB表示是否能正确连接数据库。

2010-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除