自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (18)
  • 收藏
  • 关注

原创 Test

test

2013-12-20 09:32:33 208

C++ 模板写的短小字符串类,用于替换字符数组和std::string

//短小字符串类 template<size_t N> struct TinyString { TinyString(); template<size_t K> TinyString(const TinyString<K>& str); TinyString(size_t n, char c); TinyString(const char* s, size_t n=0); TinyString(const std::string& str); template<size_t K> TinyString& operator = (const TinyString<K>& str); TinyString& operator = (const std::string& str); TinyString& operator = (const char* s); TinyString& operator = (char ch); template<size_t K> TinyString& operator += (const TinyString<K>& other); bool empty() const { return len == 0; } int size() const { return len; } int obj_size() const { return sizeof(*this); } const char* GetData()const { return buffer; } const char* c_str()const { return buffer; } bool operator == (const TinyString& other) const; bool operator < (const TinyString& other) const; operator std::string() const; //转为字符串 std::string ToString()const; //转为字符串 template<size_t K> friend std::ostream & operator<< (std::ostream& os, const TinyString<K>& str); template<size_t K, size_t L> friend bool operator == (const TinyString<K>& s1, const TinyString<L>& s2); //...... uint8_t len; char buffer[N-1]; }; typedef TinyString<8> TinyStr8; typedef TinyString<16> TinyStr16; typedef TinyString<32> TinyStr32; typedef TinyString<1024> TinyStr1K; typedef TinyString<4096> TinyStr4K;

2020-03-11

Visual Assist X 10.9.2059

Visual Assist X 10.9.2059 VC2015可以用

2016-05-14

使用c++实现boost::any类

使用c++实现boost::any类 any类可以存放任意类型数据,如: void test_any() { any any_a1(123); int a2 = any_cast(any_a1); int* p_a2 = any_cast(&any_a1); std::cout << "a2 = " << a2 <<" *p_a2="<<*p_a2<<std::endl; any any_b1(12.35); double b2 = any_cast(any_b1); std::cout << "b2= " << b2 << std::endl; any any_str(std::string("abc")); std::string msg = any_cast(any_str); std::cout << "msg= " << msg << std::endl; std::vector values,new_values; for(int idx=0;idx<10;idx++) { values.push_back(0.5+idx+10); } any any_vector(values); new_values = any_cast<std::vector>(any_vector); auto iter = new_values.begin(); while( new_values.end() != iter ) { std::cout << *iter <<" "; ++ iter; } std::cout << std::endl; }

2016-01-26

firefox 3.6.28

firefox 3.6.28 firefox 3.6.28

2014-11-25

Lua 5.2.3vc2010工程

Lua 5.2.3 dll .lib vc2010工程

2014-10-28

tcpip,http资料

tcpip,http资料

2014-10-28

doxygen v1.8.8

使用Doxygen生成全中文的chm文档 生成类图 项目一般设置 首先在“Wizard”标签的Project项进行如下设置: 项目名称:将在最新的文档首页中显示 源码列表:选择要生成文档的源代码或目录 可以有多个文件或目录形成一个列表 建议使用相对路径 相对于当前目录(也即当前配置文件所在的目录) 递归扫描:如果需要对整个源码目录下的所有子目录及文件生成文档 请勾选本项 输出目录:设置最终生成的帮助文档的存储路径 建议使用相对路径 下一步 Mode项 根据需要设置文档生成模式 下一步 Output项 设置输出格式 勾选HTML和“prepare for compressed HTML chm ” 然后切换到“Expert”标签的“HTML”项 设置HTML和CHM相关的选项: GENERATE HTMLHELP:确保已经勾选了 CHM FILE:最终生成的 chm的文件名 如“HkcProjectHelp chm” 默认为“index chm” 可以使用路径 也可以使用相对路径 相对于上面设置的输出目录的html目录(建设使用上一级目录 如“ MyDoc chm”) HHC LOCATION:chm 编译器(hhc exe)的全路径 请指到 HTML Help Workshop 的安装目录的 hhc exe 程序 CHM INDEX ENCODING:chm索引文件编码 下面会讲到 这里填“GBK” 编码设置 编码设置很重要 如果设置不当 生成的文档会出现乱码 因为 Doxygen 汲及的东西多 有好几项编码设置 所以需要认真对待 根据项目的实情情况设置 所有高级设置(包括编码设置)都在“Expert”标签 重要的设置项如下: Project DOXYFILE ENCODING:当前 Doxygen 配置文件本身的字符编码 默认为UTF 8 一般不需要修改 Project OUTPUT LANGUAGE:输出语言 这里是指Doxygen自己生成的导航 提示 帮助等文本的文字采用的语言 我们希望帮助文档是全中文的 所以选择Chinese Input INPUT ENCODING:输入文件的编码 这里是指我们的源代码文件本身的编码 在Windows平台一般是系统编码(GBK) 而Linux平台一般是UTF 8 请用文本编辑器查看源文件的编码 这里如果设置的不一致 源码文件的注释中所有非ASCII字符将在生成的文档中变成乱码 HTMP CHM INDEX ENCODING:这里设置Doxygen生成的CHM索引文件的编码 以前是不能设置的 默认为UTF 8 而微软的编译器不能识别UTF 8编码的索引文件 所以最终造成左边目录导航栏乱码 我们设置它为GBK 这样Doxygen将为我们生成GBK编码的索引文件( hhc hhk hhp) 生成CHM文档 设置好了后 点击“Run”→“Run doxygen”生成最终的 chm文档 如果设置正确 打开后是全中文的了 ">使用Doxygen生成全中文的chm文档 生成类图 项目一般设置 首先在“Wizard”标签的Project项进行如下设置: 项目名称:将在最新的文档首页中显示 源码列表:选择要生成文档的源代码或目录 可以有多个文件或目录形成一个 [更多]

2014-10-26

hex串转换类

hex串转换类,hex串转缓冲器,缓冲器转16(10)进制数据显示,

2014-10-24

wireshark 数据包

wireshark 捕捉ping和tracert的数据包

2014-10-15

sqlite3 v3.8.6

sqlite3 v3.8.6

2014-09-25

probuf prtoc v2.5

probuf prtoc v2.5

2014-09-04

google glog v.0.3.3

google glog v.0.3.3

2014-09-04

google gmock v1.7

google gmock v1.7

2014-09-04

Hook Api,hook ReadFile,hook WriteFile,hook LoadLibrary

hook api,hook CreateFile,hook CloseHandle,hook ReadFile,hook WriteFile,hook LoadLibrary

2014-09-02

VTune_Amplifier_XE_2013 lic

VTune_Amplifier_XE_2013 lic

2014-07-15

VTune_Amplifier_XE_2013 3/3

VTune_Amplifier_XE_2013

2014-07-15

VTune_Amplifier_XE_2013 2/3

VTune_Amplifier_XE_2013

2014-07-15

VTune_Amplifier_XE_2013 1/3

VTune_Amplifier_XE_2013

2014-07-15

空空如也

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

TA关注的人

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