2013年2月20日

[转]epoll

摘要: epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu... 阅读全文

posted @ 2013-02-20 10:20 CrunchYou 阅读(188) 评论(0) 推荐(0) 编辑

2013年2月6日

心学四决

摘要: 无善无恶心之体,有善有恶意之动,知善知恶是良知,为善去恶是格物. 阅读全文

posted @ 2013-02-06 11:09 CrunchYou 阅读(335) 评论(0) 推荐(0) 编辑

2013年2月2日

pthread win32版本的编译

摘要: 其实解压后根目录的README里面就有如何编译的说明, 简单得很, 但我将自己常用到的开源库的编译都放在博客里, 免得还花时间去找. 方便快捷些, 纯粹摘录:) Run one of the following command lines:nmake clean VCE (to build the MSVC dll with C++ exception handling)nmake clean ... 阅读全文

posted @ 2013-02-02 16:53 CrunchYou 阅读(1109) 评论(0) 推荐(0) 编辑

2013年1月26日

以Engine替换为出发点解析OpenSSL的SSL连接过程

摘要: SSL_new SSL_new没有做什么实质性的工作 1 分配SSL结构的存储空间, 初始SSL结构中的成员, 成员初始化也比较好理解; 其中有些是复制SSL_CTX的; 其中一个重要的就是分配SSL3_STATE结构; 2 SSL结构是整个SSL通信过程需要使用的类似Win32编程过程中的handle一样的东东, 自始至终都再用. SSL结构有点复杂: 包含了SSL3_STATE, SSL_C... 阅读全文

posted @ 2013-01-26 11:26 CrunchYou 阅读(4384) 评论(0) 推荐(0) 编辑

2013年1月23日

[原]OpenSSL SSL连接初始化部分解析

摘要: SSL_CTX_new: 分配并初始化SSL_CTX结构, 1 很重要的就是load cipher_list2 设置ssl_session timeout时间默认为7200秒3 初始化client_CA STACK4 初始化EVP_MD, rsa_md5, md5, sha15 初始化ex_data.6 初始化comp_methods 重点解析load cipher_list, 因为在替换engi... 阅读全文

posted @ 2013-01-23 11:00 CrunchYou 阅读(9520) 评论(0) 推荐(0) 编辑

函数调用堆栈

摘要: 以前记录的, 留在这里, 方便看: 堆栈的结构-------------------------20实参3 ebp+10 |-------------------------1C实参2 ebp+C-------------------------18实参1 ebp+8 -- push 参数 esp-4. 原来为0012FEE8, 变为 0012FEE4-----------------------... 阅读全文

posted @ 2013-01-23 10:19 CrunchYou 阅读(221) 评论(0) 推荐(0) 编辑

2013年1月21日

log4cxx的编译

摘要: 对于各种lib的编译, 其实都比较简单, 但往往其中有些"机关", 如果要去看原始文档, 一步一步来, 也可以, 但这样浪费时间, 所以记下, 每次需要重新编译这些库时, 在这里翻一下就知道了. log4cxx的编译参考了:http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html 略微有点不一样: 1. 下载 log4cxx 以及 apr 和 ... 阅读全文

posted @ 2013-01-21 14:11 CrunchYou 阅读(3108) 评论(0) 推荐(0) 编辑

[转]C++日志系统log4cxx使用总结

摘要: 原文出处: http://blog.sina.com.cn/s/blog_a459dcf501013mr1.html 本文主要从log4cxx级别、layout、格式化、命名规则、Filter几个方面介绍。 一、log4cxx命名规则 Logger由一个String类的名字识别,logger的名字是大小写敏感的,且名字之间具有继承的关系,子名有父名作为前缀,用点号.分隔。如:x.y是x.y.z的父... 阅读全文

posted @ 2013-01-21 10:33 CrunchYou 阅读(705) 评论(0) 推荐(0) 编辑

2013年1月19日

[原]替换OpenSSL Engine为硬件加密卡之替换EVP_CIPHER结构

摘要: 定义: static const EVP_CIPHER FMC_ENG_evp_cipher= { NID_aes_128_cbc, /*nid*/ 16, /*block_size*/ 16, /*key_len*/ 16, /*iv_len*/ EVP_CIPH_CBC_MODE, /*Various flags*/ FMC_ENG_evp_cipher_init, /*init*/ FMC_ENG_evp_cipher_do_cipher, /*do_cipher*/ FMC_ENG_evp_cipher_cleanup, /*cleanup*/ sizeof(AES_KEY) + 16 阅读全文

posted @ 2013-01-19 16:15 CrunchYou 阅读(5678) 评论(2) 推荐(1) 编辑

2012年11月30日

vsprops

摘要: 用vc很多年了, 前年在搞libcomcomcpp时, 发现了该项目建的的工程设置里面有个很有趣的vsprops, 如下图: 以前从来没有这样做过, 当时研究了一下, 发现这是个很好的技巧, 可以避免多个工程往复相同的设置. 当时还仿照这个方法在自己的工程中, 做了一个便于包含第三方库的设置. 可能当时印象不是很深刻, 加之这两年来, 没做多少编码工作, 转眼过了两年, 对于这个技巧就忘... 阅读全文

posted @ 2012-11-30 14:11 CrunchYou 阅读(2354) 评论(0) 推荐(0) 编辑

导航