C++
文章平均质量分 68
luxiaoyu_sdc
这个作者很懒,什么都没留下…
展开
-
IOS 常用开源source
IOS 常用开源source来自社区会员li_zhi0123的分享:会员博客:http://blog.csdn.net/wstarx/article/details/6317779http://iosdeveloper.diandian.com/post/2011-05-21/932272 开发几个常用的开源类库及下载地址:1.jsonjso转载 2013-12-31 14:13:23 · 997 阅读 · 0 评论 -
以boost::function和boost:bind取代虚函数
以boost::function和boost:bind取代虚函数Posted on 2012-02-23 09:24 mavaL 阅读(11) 评论(0) 编辑 收藏 作者:天涯 来源:中国自学编程网这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::fu转载 2012-04-10 17:52:02 · 753 阅读 · 1 评论 -
Boost::asio io_service 实现分析
Boost::asio io_service 实现分析io_service的作用io_servie 实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的队列。Io_servie的接口转载 2012-04-10 17:52:48 · 901 阅读 · 0 评论 -
boost asio io_service与 strand 分析
boost asio io_service与 strand 分析1: io_service 与 strand 的关系是什么?2: strand : /// Provides serialised handler execution. 能够保证线程安全,同时被post 或 dispatch 的方法 不会被并发的执行; 而 io_转载 2012-04-10 17:58:49 · 4356 阅读 · 0 评论 -
vc6.0 调试小结
现在都用vs2008了,VC6的速度还是很怀念,来个小结吧。断点相关快捷键:1.F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10单步执行程序. CTRL+F10运行到光标所在行. F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面. SHIFT+F11跳出当前所在原创 2012-03-30 09:19:22 · 869 阅读 · 0 评论 -
C++开发必看 四种强制类型转换的总结
C++开发必看 四种强制类型转换的总结总的来说,无论C 还是C++都可以简单的使用C风格的强制类型转换,当然,前提是自己有把握转换不出错误。但是对于C++程序员来说,当然推荐使用C++风格的类型转换,这一点在C++ bible里也明确指出了。下面给出详细说明:1,C风格的强制类型转换 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE原创 2012-03-27 11:20:48 · 815 阅读 · 0 评论 -
C++著名程序库的比较和学习经验
C++著名程序库的比较和学习经验您的评价: 力荐 收藏该经验内容目录:1、C++各大有名库的介绍——C++标准库2、C++各大有名库的介绍——准标准库Boost3、C++各大有名库的介绍——GUI4、C++各大有名库的介绍——网络通信5、C++各大有名库的介绍——XM转载 2012-03-26 19:16:48 · 710 阅读 · 0 评论 -
VC异常处理随笔
VC异常处理随笔分类: C/C++2010-04-27 11:45 535人阅读 评论(2) 收藏 举报转自:http://cetion.blog.sohu.com/71842570.html ================================================================================ 1:转载 2012-03-26 19:43:53 · 673 阅读 · 0 评论 -
protobuf在网络编程中的应用思考
protobuf在网络编程中的应用思考分类: 基础框架库2010-07-21 17:40 19337人阅读 评论(14) 收藏 举报protobuf简介protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过转载 2012-02-24 13:05:51 · 547 阅读 · 0 评论 -
免费的Zip操作类库--SharpZipLib
SharpZipLib 是一个免费的Zip操作类库,可以利用它对 ZIP 等多种格式进行压缩与解压。下载网址:http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx。目前的版本为0.86。1、创建zi原创 2011-09-19 15:48:41 · 2284 阅读 · 0 评论 -
boost之ThreadPool
boost之ThreadPool 分类: 技术资料 2011-04-02 17:59 549人阅读 评论(1) 收藏 举报 threadpool是基于boost库实现的一个线程池子库,但线程池实现起来不是很复杂。我们从threadpool中又能学到什么东西呢?它是基于boost库转载 2011-07-15 09:22:42 · 4195 阅读 · 0 评论 -
通过自定义协议在BS里面启动CS程序
通过自定义协议在BS里面启动CS程序2011年06月13日 星期一 17:33转载自 cyj380236628最终编辑 cyj380236628在此,以添加"aricc”协议为例。一、首先,编写一个支持aricc协议的程序。我们就使用C#来写一个示例程序吧。1、新建一个windo转载 2011-07-15 11:48:55 · 4967 阅读 · 1 评论 -
vc2010 使用boost
http://chenrongya.blog.163.com/blog/static/874741962010102041157963/http://www.cppblog.com/flyinghare/archive/2010/10/31/126078.htmlhttp://sswflying.spaces.live.com/blog/cns!A1AF9E41EDCAEF99!584.entry老平台编译boost,详细: http://topic.csdn.net/t/20030617/10/19242原创 2011-05-11 00:23:00 · 1359 阅读 · 0 评论 -
boost编译指令
boost编译指令boost库编译方法,留个记号,免得忘了。 <br /> <br /> <br />Windows下:<br />C++代码 <br /> bjam.exe --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread toolset=msvc-9.0 variant=re原创 2011-05-11 00:19:00 · 1116 阅读 · 0 评论 -
utf8 BOM:EF BB BF
<br />Unicode规范中有一个BOM的概念。BOM——Byte Order Mark,就是字节序标记。在这里找到一段关于BOM的说明:<br />在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE原创 2011-04-28 22:28:00 · 3395 阅读 · 0 评论 -
命令行禁用(开启)服务
1,命令行执行①最简单的,一句话禁止某个服务:sc config XXX start= Disabled ② 设置服务为自动sc config xxxx start= AUTO/DEMAND 2,直接修改注册表该服务的start键值找到注册表里的服务位置,设置其start值为需要的即可HKEY_LOCAL_MACHINE/SYSTEM/CurrentContro原创 2011-06-18 22:11:00 · 4712 阅读 · 0 评论 -
Unicode、UCS、UTF-8、UTF-16、UTF-32 的关系
<br />Unicode、UCS、UTF-8、UTF-16、UTF-32 的关系<br />Unicode 是 Universal Multiple-Octet Coded Character Set 的缩写。<br />UCS 是 Universal Character Set(通用字符集)的缩写,即某一个整数表示哪个文字。<br />UTF 全称是“UCS Transformation Format”,表示文件存储和数据传输时的具体格式,比如 95 这个数字,是用一个字节来存还是用两个字节来存,还是四原创 2011-04-28 23:03:00 · 1047 阅读 · 0 评论 -
boost高并发网络框架+线程池
http://www.cnblogs.com/toosuo/archive/2011/12/13/2286207.htmlhttp://www.cnblogs.com/wangkangluo1/archive/2011/07/19/2110746.html博客园相关:http://zzk.cnblogs.com/s?w=boost&p=10转载 2012-04-10 18:18:50 · 1214 阅读 · 0 评论 -
特化和偏特化
特化和偏特化分类: C++2010-03-17 18:27 560人阅读 评论(1) 收藏 举报 Partial Template Specialization能够让你在模板(Template)的所有可能的实体中特化出一组子集. 1.模板的特化(template specialization): 例如,定义如下的一个模板: template转载 2012-04-11 18:05:34 · 531 阅读 · 0 评论 -
可靠的UDP编程(ENET库)
可靠的UDP编程(ENET库)大家都知道UDP这个东西太不可靠了,存在着乱序,丢包,包重复等缺点,但它的速度快,包有界等优点,但在实际编程中要自己处理乱序啊之类的问题会发疯的。也许大家说用TCP就得了,第一点TCP的速度比较慢,第二个TCP是一个数据流一样的东西,我们要传数据的话还得处理数据的分界问题,也挺麻烦的。 针对这个问题,ENET这个库实现了一个性能介转载 2012-04-12 17:06:07 · 7506 阅读 · 2 评论 -
java c++ socket通讯
一般是java端为server,c++客户端与其通信,server端是mina,jetty等。这个一般用protobuf,在此不多讲。下面介绍c++为server端,java客户端与其通信。以结构体为例说明:struct Employee { char name[20]; int id; float salary; };jav原创 2013-11-14 11:01:55 · 1080 阅读 · 0 评论 -
c++ 判断字符串只包含字母、数字、汉字
c++ 判断字符串只包含字母、数字、汉字bool StringUtils::CheckName(const char * iName){ bool result=false; if(strlen(iName)>62)return result;//长度不能超过62个字符 while(*iName) { if((*iName)&0x80){ //是转载 2013-11-08 15:12:42 · 4493 阅读 · 0 评论 -
无法找到“XXX.exe”的调试信息,或者调试信息不匹配。。
"无法找到“XXX.exe”的调试信息,或者调试信息不匹配。。。今天调试一C++程序,按下F5,老是弹出一对话框显示信息:debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded. 翻译成中文大概就是:不能找到'myproject.exe' 的调试信息或者调试信息转载 2013-09-22 16:47:07 · 929 阅读 · 0 评论 -
C/C++ GB2312,UTF编码互相准确转换
C/C++ GB2312,UTF编码互相准确转换 一、利用iconv函数族进行编码转换在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。iconv函数族的头文件是iconv.h,使用前需包含之。#include iconv函数族有三个函数,原型如下:(1)转载 2013-08-23 09:53:18 · 3807 阅读 · 0 评论 -
Android: NDK编程入门笔记
Android: NDK编程入门笔记为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。下面就介绍下Android转载 2013-08-08 09:19:20 · 830 阅读 · 0 评论 -
Android NDK下使用zlib库
Android NDK下使用zlib库 方案一:NDK对zlib有了很好的支持:开始还以为需要连接.a文件,后来才发现使用编译选项即可:LOCAL_LDLIBS := -lz \方案二:项目中包含zlib源文件吧,这个不用说了吧原创 2013-08-05 10:46:47 · 5927 阅读 · 0 评论 -
ProtoBuf 的java使用
ProtoBuf 的java使用windows :1,两个文件:proto.exe, protobuf-java-2.4.1.jar2,建立一个工程TestPb,在下面建立一个proto文件件,用来存放【。proto】文件3,将proto,exe放在工程下,4,建立一个msg.proto文件:option java_package = "com.proto转载 2013-08-02 21:54:54 · 984 阅读 · 0 评论 -
cygwin编译protobuf-2.4.1
1.编译环境cygwinprotobuf-2.4.1本人PC环境:win7 64位 + cygwin2.windows下面用cygwin编译protobuf打开cygwincd 到protobuf的目录下:依次执行命令:./configuremakemake check原创 2013-08-02 21:43:37 · 3173 阅读 · 1 评论 -
cygwin编译boost1.52
1,cd 进入boost_1_52_0目录2,运行./bootstrap.sh3,运行./b2 编译生成真正的boost库文件则 G:\boost_1_52_0\bin.v2\libs 即为生成的库目录。如下图:原创 2013-07-15 10:56:49 · 988 阅读 · 0 评论 -
pthread线程的终止退出 | 线程的大量创建
pthread线程的终止退出 | 线程的大量创建 2012-05-05 20:39:13 今天测试自己写的多线程的程序,按实际情况说,应该创建3000多个线程才对,但是,创建到378个的时候,就出错来,pthread_create()失败,刚开始以为这是个例外,所以,又重新启动,甚至跑到另一台电脑上测试。 ps:请原谅我的无知,谢谢。。。。转载 2013-07-15 09:42:59 · 1872 阅读 · 0 评论 -
setsockopt 设置socket 详细用法
setsockopt 设置socket 详细用法 作者:疯也枉然1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeo转载 2013-07-15 09:44:12 · 862 阅读 · 0 评论 -
VS2012 下编译boost1.52
VS2012 下编译boost1.521. 下载boost_1_52_0.7z http://sourceforge.net/projects/boost/files/boost/1.52.0/2. 解压缩到d:\boost目录下3. 编译bjam(1)从开始菜单运行“VS2012 开发人员命令提示”(2)cd到D:\boost\boost_1_52_0下执行转载 2013-07-15 09:01:12 · 1665 阅读 · 0 评论 -
内存泄露检测—VLD工具
内存泄露检测—VLD工具一. VLD工具概述Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号; 可以得到泄露内存的完整数据; 可以设置内存泄露报告的级别;并且是开源免费的。 二. V转载 2013-07-15 08:50:45 · 1035 阅读 · 0 评论 -
怎样简单检测socket的健康状态
怎样简单检测socket的健康状态吴旻泰岩网络工作室 开发程序经常用到socket,新手熟手一般都会用select、recv和send这样几个函数,而且大多数情况下,会用这几个函数也就差不多了。更深入的开发会发现,现成的socket函数并没有提供检测socket是否健康的函数,通常的资料也并没有现成的方法可用。本文提供了一个方案,在windows和转载 2013-06-26 13:08:47 · 988 阅读 · 0 评论 -
使用 libevent 和 libev 提高网络应用性能
使用 libevent 和 libev 提高网络应用性能分类: 网络编程2011-09-21 12:04 345人阅读 评论(0) 收藏 举报网络应用callbackstructaix服务器ibm管理多个 UNIX 网络连接Martin C. Brown, 作家,Freelance简介: 构建现代的服务器应用程序需要以某种方法同时接收转载 2013-07-05 21:30:39 · 923 阅读 · 0 评论 -
利用不定长的结构体发送socket数据
//Server端代码#include#include#include#include#include#include#include//使用不定长的结构体发送数据的关键在于:结构体变量必须分配到堆中,而不是栈中//即只能用malloc或者new来给结构体分配空间typedef struct Node{ int nodeSize; int bufSize; char转载 2013-06-06 10:54:20 · 2662 阅读 · 1 评论 -
使用 libevent 和 libev 提高网络应用性能
管理多个 UNIX 网络连接Martin C. Brown, 作家,Freelance简介: 构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但是 libevent 库和 libev 库能够大大提高性能和事件处理能力。在本文中,我们要讨论在 UNIX® 应用程序中使用和部署这些解决转载 2013-05-03 13:59:48 · 812 阅读 · 0 评论 -
ASCII,Unicode和UTF-8(转帖)
字符编码笔记:ASCII,Unicode和UTF-8<br />作者: 阮一峰<br />日期: 2007年10月28日<br />今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。<br />结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。<br />下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。<br />1. A转载 2011-04-28 22:19:00 · 660 阅读 · 0 评论 -
VC++ 通过进程名或进程ID获取进程句柄
VC++ 通过进程名或进程ID获取进程句柄 HANDLE GetProcessHandle(int nID)//通过进程ID获取进程句柄{return OpenProcess(PROCESS_ALL_ACCESS, FALSE, nID);}HANDLE GetProcessHandle(LPCTSTR pName)//通过进程名获取进程句柄{HANDLE hS原创 2011-06-09 18:45:00 · 19491 阅读 · 0 评论 -
VC 管道通信
<br />尽管TCP/IP协议现在已发展成为Internet的标准,但仍不能确保C/S应用程式的顺利进行。命名管道作为一种通信方法,有其独特的优越性,这主要表现在他不完全依赖于某一种协议,而是适用于任何协议——只要能够实现通信。 <br /><br /> 命名管道具备很好的使用灵活性,表现在: <br /><br /> 1) 既可用于本地,又可用于网络。 <br /><br /> 2) 能够通过他的名称而被引用。 <br /><br /> 3) 支持多客户机连接。 <br /><br /> 4)转载 2011-04-07 20:56:00 · 6962 阅读 · 0 评论