- 博客(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
1328
转载 DefineDosDevice函数控制虚拟驱动器
1、函数简介BOOL WINAPI DefineDosDevice( __in DWORD dwFlags, __in LPCTSTR lpDeviceName, __in LPCTSTR lpTargetPath);参数:DWORD dwFlags,该函数的控制标志,可取下列值: DDD
2012-10-09 14:18:43
8503
转载 _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
2110
转载 boost bind使用指南
bind - boost头文件: boost/bind.hppbind是一组重载的函数模板.用来向一个函数(或函数对象)绑定 某些参数. bind的返回值是一个函数对象. 它的源文件太长了. 看不下去. 这里只记下它的用法: 9.1 对于普通函数假如有函数 fun() 如下: void fun(int x, int y) {cout }现在我们看看怎么用
2012-09-17 14:44:58
821
转载 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
3094
转载 std 异常
头文件C++标准异常类层次结构:std::exception基类std::logic_errorstd::domain_errorstd::invalid_argumentstd::length_errorstd::out_of_range破坏了逻辑条件的编程错误运行之前违例; 如系统不支持的情况下给函数传递了非法值试图创建的
2012-07-19 15:22:40
5952
转载 Boost之string算法库
标准库里的string虽然功能强大,但它还是缺少很多常用功能,如trim,大小写转换等。作为标准库的补充,Boost承担起了弥补这些缺点的任务,于是就有了Boost String Algorithms Library快速参考Boost.String Algo提供了标准库中没有提供的字符串操作功能,比如大小写转换,正则表达式查找等。它的命名规则是:如果函数是大小写无关的,则带有前缀i
2012-07-16 14:31:57
2272
转载 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
2926
转载 开源C++函数库Boost内存池使用与测试
Boost库是一个可移植的开源C++函数库,鉴于STL(标准模板库)已经成为C++语言的一个组成部分,可以毫不夸张的说,Boost是目前影响最大的通用C++库。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容,是一个“准”标准库。Boost内存池,即boost.pool库,是由Boost提供的一个用于内存池管理的开源C++库。作为Boost中影响较大的
2012-07-06 14:38:12
1409
转载 c++ explicit关键字
1、c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public:MyClass( int num );}
2012-06-27 10:33:05
688
转载 VS2010 + STLport + Boost 的编译使用
Visual Studio 2010 下编译使用 STLport 库和 Boost 库,需要做一些小处理,特记录一下:首先,下载、解压、安装,这个就不详细说明了,可以看下面的参考或者搜索一下就有很多了。然后,修改 “stlport\stl\_cstdlib.h” 文件,在 158 行附近找到下面的一行代码:[cpp] view plaincopy
2012-06-26 16:50:18
998
转载 关于字符集的专题知识 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
696
转载 new分配内存
空间分配 接下来我们要考虑内存分配信息的组织问题了。我们先来了解一下编译器是怎么组织的。在大部分编译器中,new所分配的空间都要大于实际申请的空间,大出来的部分就是编译器定义的内存块的信息,包括了内存块的大小还有一些其他信息。如下图所示: 我们把包含内存分配信息的部分叫做cookie数据。为了方便,我们把cookie数据放在分配的内存的起始位置,之后紧接有效
2012-04-26 13:29:46
1776
转载 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
1009
转载 Doxygen详细介绍
1 序言 为代码写注释一直是大多数程序员有些困扰的事情。当前程序员都能接受为了程序的可维护性、可读性编码的同时写注释的说法,但对哪些地方应该写注释,注释如何写,写多少等这些问题,很多程序员仍然没有答案。更头痛的是写文档,以及维护文档的问题,开发人员通常可以忍受编写或者改动代码时编写或者修改对应的注释,但之后需要修正相应的文档却比较困难。如果能从注释直接转化成文档,对开发人员无疑是
2012-02-24 10:31:25
14724
原创 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
17336
转载 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
1034
转载 Boost Thread学习笔记
Boost Thread学习笔记thread自然是boost::thread库的主 角,但thread类的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的编译选项的不同,分别决定使用 Windows线程API还是pthread,或者Macintosh Carbon平台的thread实现。以下只讨论Windows,即使用 BOOST_HAS_
2012-02-14 11:16:01
2737
转载 PowerDesigner 面向对象模型(OOM)说明
一. OOM 简介Object-OrientedModel(OOM) 面向对象模型,一个OOM包含一系列包,类,接口 , 和他们的关系。 这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概
2011-10-18 09:17:09
1557
转载 inf文件分析
安装信息(Setup Information)文件是Windows系统支持的一种安装信息存放文件,一般以INF作为扩展名,因此也叫INF文件。安装信息INF文件与Windows内建的安装服务引擎(API函数库)紧密协同工作,基于其严格的编写语法制作而成的INF文件在拷贝、删除文件
2011-10-11 14:51:32
811
原创 使用Boost.Asio编写通信程序
摘要:本文通过形像而活泼的语言简单地介绍了Boost::asio库的使用,作为asio的一个入门介绍是非常合适的,可以给人一种新鲜的感觉,同时也能让体验到asio的主要内容。本文来自网络,原文在这里。目录 [隐藏]ASIO的同步方式自我介绍示例代码
2011-09-15 10:34:10
994
原创 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
713
原创 用ASIO编写UDP通信程序
UDP协议ASIO的TCP协议通过boost::asio::ip名空间下的tcp类进行通信,举一返三:ASIO的UDP协议通过boost::asio::ip名空间下的udp类进行通信。我们知道UDP是基于数据报模式的,所以事先不需要建立连接。就象寄信一样,要寄给谁
2011-09-06 18:06:50
2410
原创 SysErrorMessage 函数和系统错误信息表
在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessage 可以, 但这个函数太复杂了; 可以用 SysErrorMe
2011-09-06 17:17:57
3308
原创 static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.
2011-08-25 14:45:51
425
转载 STL中用erase()方法遍历删除元素
STL中用erase()方法遍历删除元素 STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。
2011-08-11 13:52:00
814
原创 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
2332
原创 程序运行时加载动态库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
853
原创 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
656
原创 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
1326
原创 Windows XP 启动过程详解
<br /><br /> <br />我们每天都在和 Windows 打交道,很多人可能每天都要面对多次 Windows 的启动过程,可是您知道在 Windows 的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文告诉您的。<br /> <br />随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件 CPU来说,目前就有很多选择。当然,这里的选择并不是说 AMD 或者Intel 这种
2011-03-28 14:26:00
1378
原创 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
635
原创 IPv4 和 IPv6 头部结构主要区别
<br />31 0<br /> |----|----|------|--|-------------------|----------<br /> |ver |ihl | -tos | -| tot_len |<br /> |----|----|------|--|-------------------|<br /> | id | frag_off
2011-01-18 10:00:00
2787
原创 Tcpdump的使用
tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ] 1. tcpdump的选项介绍 -a 将网络地址和广播地址转变成名字; -d 将匹配信息包的代码以人们能够理解的汇编格式给出; -dd 将匹配信息包的代码以c语
2011-01-12 10:38:00
643
原创 利用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
860
原创 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
13234
原创 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
1156
原创 c格式化输出
<br />一、printf()函数<br />printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>);<br /><br />其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出, 另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符用来确定输出内容格式。 <br />参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参
2010-11-15 17:23:00
8487
原创 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
12071
原创 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
1286
1
INF文件格式参考
2011-10-11
分析网页中数据自动并保存到数据库(源码+手册)
2010-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人