- 博客(16)
- 资源 (2)
- 收藏
- 关注
转载 各种TCP版本 之 TCP Reno 与 TCP Vegas 共存
实验目的 探讨TCP Vegas的提出,TCP Vegas的内涵 ,TCP Vegas 的优越性及其没有在Internet上广泛应用的主要原因。基础知识回顾【TCP Reno 性能分析】 前面,我们了解了TCP Tahoe、TCP Reno系列及TCP Sack的工作原理,通过实验,将各种TCP版本进行了对比。综合来看,即使源端不通过
2014-12-22 17:02:37
4848
3
转载 Boost socket performance on Linux
Four ways to speed up your network applicationsDocument optionsPrint this pageE-mail this page Docu
2014-08-20 15:15:28
1846
转载 (from AVBoost) 异步遍历文件夹
#pragma once#include #include #include #include #include namespace boost{namespace detail{templateclass async_dir_walk{boost::asio::io_service &io_service;boost
2014-06-06 22:18:55
777
转载 boost::bind和占位符实现的原理(from AV BOOST)
boost.bind是个非常强大的工具,有了它,我们可以轻松的将不同模块的代码,从物理上分离,从而达到解耦的作用。当你开始尝试使用boost.bind来进行编程的时候,你会发现自己不知不觉中贱贱的爱上了boost.bind,因为作用不止是解耦,还有很多说不尽道不明的地方需要它。但是从来很少有人详细的说明它是如何工作(实现)的,这里,我打算用一小段简单的代码,模拟boost.bind
2014-06-06 15:42:34
2887
原创 boost递归锁和非递归锁区别
Mutex可以分为递归锁(recursive mutex)和非递归锁(non-recursive mutex)。可递归锁也可称为可重入锁(reentrant mutex),非递归锁又叫不可重入锁(non-reentrant mutex)。 二者唯一的区别是,同一个线程可以多次获取同一个递归锁,不会产生死锁。而如果一个线程多次获取同一个非递归锁,则会产生死锁。
2014-04-28 16:57:34
2300
原创 C++的map::erase
产品代码在map中循环删除元素通常有两种方法:举例:iterator自加 std::map::iterator buffer_ite = buffer_file_heads_mgmt_.begin(); for ( ; buffer_ite != buffer_file_heads_mgmt_.end(); ) { delete buffer
2014-04-27 18:13:59
1030
原创 动态库的显式调用和隐式调用的默认参数问题
dll 调用分隐式和显式调用显式调用显式调用不会用函数声明和导出的接口,不会知道函数的具体声明。在使用GetProcAddress获取函数指针时只需指明函数的名字。如果在声明函数指针时未加默认参数,则实际调用该函数时默认参数会传入一个异常值,而不是默认的值,默认值失效。正确的使用方法是显式调用时默认参数必须加上。隐式调用隐式调用会用函数声明和导出的接口,知道函数的具体声明,
2014-04-27 18:11:17
1038
原创 boost交叉编译之iOS
it appears that two of the boost libraries fail (one of them is threading-multi) but I guess ogre doesn't use them so thats fine.Create a user configuration file/Users/xingjb/user-config.jamus
2014-04-27 18:07:55
1242
原创 Poco交叉编译之iOS
POCO GNU平台编译方法(CYGWIN,Mac OS, Linux, Unix)1 下载poco-1.4.4.tar.gz,解压进入到Poco源代码的目录;2 设置编译选项。在源代码目录中执行命令./configure --static --no-tests --no-samples --no-sharedlibs,命令执行完成后会把编译选项写入同目录下的config.make文件
2014-04-27 18:06:10
1327
原创 gflags.exe进行heap检测的命令行使用方式
1、在cmd下进入到gflags.exe的安装目录, 如 C:\Program Files (x86)\Debugging Tools for Windows (x86)2、对xxx.exe进行heap检测的命令行如下:配置正常页堆:gflags.exe /p /enable xxx.exe配置完全页堆:gflags.exe /p /enable xxx.exe /full列出当前启动
2014-04-27 18:04:46
1636
原创 iOS崩溃堆栈还原
我们以前定位crash的流程如下:到iFunshion.app.dsym(app对应的符号文件)目录下,执行命令atos -o 'iFunshion.app.dSYM/Contents/Resources/DWARF/iFunshion' -arch armv7崩溃时的调用地址就能定位到程序代码的某一行了。到ios4.3以后,直接用“十六进制的崩溃内存地址”就不能定位到正确的程序代
2014-04-27 17:54:26
2488
原创 Windows 上C++ new/detele如何知道内存大小
Windows 上,但使用C++语言new一块内存,用指针P指向这块内存,但我们调用delete的时候如何知道我们需要释放的空间大小,毕竟我们只给了一个P指针,并没有给出内存大小。在Windows系统上,每当使用new/new[]申请到内存时,回调用系统的API在堆上开出一块我们需要大小的内存。例如:int* p = new int[100];此时申请成功时,P指向了这块内存的一个元素
2014-03-12 23:14:47
2854
原创 VS配置将崩溃转化为异常
相关资料链接:http://msdn.microsoft.com/zh-cn/library/1deeycx5%28v=VS.80%29.aspx 在调用系统API或其他的异常引起程序崩溃终止,可以在VS的工程配置异常选项,将引起程序崩溃的异常转化为用try_catch可以处理的异常。 设置位置 Project Property Pages-> Configurati
2014-03-11 15:01:17
777
原创 Spider Monkey 在Windows下js32.lib编译
1 下载js源码 http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz2 Mozilla制作包工具 http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe3 NSPR源码 ht
2013-05-03 18:24:57
1052
原创 Mp4文件相关开源库
1 GPAC http://gpac.wp.mines-telecom.fr/mp4box/mp4box-documentation/2 FFMPEG http://ffmpeg.org/
2013-05-02 18:58:07
1152
junit实战第二版
2014-01-24
TRIANGLE library for a robust constrained Delaunay triangulation in 2D
2009-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人