- 博客(18)
- 资源 (23)
- 收藏
- 关注

翻译 IPFS内部原理入门(An Introduction to IPFS)
原作:An Introduction to IPFS作者:Dr. Christian Lundkvist, Director of Engineering, andJohn Lilic, ConsenSys Enterprise翻译:伏神原文地址:https://medium.com/@ConsenSys/an-introduction-to-ipfs-9bba4860abd0(译...
2018-03-22 16:40:16
8210
3

原创 windows slim read/write lock 原理剖析
Windows在Vista之后提供了一组称为slim读写锁的API函数,网上传闻效率很高。关于这组读写锁的功能和用法在mdsn和《windows核心编程第五版》上都有详细介绍。 SRW lock functionDescriptionAcquireSRWLockExclusiveAcquires an SRW lock in
2014-07-04 16:53:30
3472

翻译 Android Wi-Fi Direct 开发指南
Android Wi-Fi Direct 开发指南(本文为Android官方开发文档译文) 使用Wi-Fi Direct技术可以让具备硬件支持的设备在没有中间接入点的情况下进行直接互联。Android 4.0(API版本14)及以后的系统都提供了对Wi-Fi Direct的API支持。通过对这些API的使用,开发者可以实现支持Wi-Fi Direct的设备间进行相互探测和连接,从而获得
2013-01-06 13:33:07
20105
1

原创 IMAP协议程序设计入门(VC篇)
IMAP协议程序设计入门(VC篇)最近在搞邮件接收的程序,网络上找到很多pop3的例子代码,很遗憾,我认识的所有邮箱都不再支持pop3,无奈只能用imap。Imap编程的资料相当匮乏,以至于没有找到一个示例程序,通过抓包和学习协议,终于把整个流程跑通了。不多废话,直接上一个简单而且相对完整的基本流程。1. 登录指令:LOGIN user passwordC语言字符串示例:"
2012-10-10 16:51:42
2300
原创 阿里云OSS修改大文件数据优化方案
阿里云OSS的程序开发中会遇到修改一个很大对象(object)中一段数据的情况。而OSS的特性决定了,在整个生命周期内,OSS对象的数据不可变更。因此,OSS 不支持修改文件的部分内容等操作。重复上传同名的对象会覆盖之前的对象。如果需要修改一个文件的部分内容,通常的方案是将整个文件下载到本地,然后将修改后的文件上传到OSS,覆盖原始文件。对于大文件而言,这样的做会带来不必要的网络开销,浪费大量时间。利用OSS的一些数据接口的特性,可以对改问题的处理流程做一定的优化。
2017-06-28 17:31:38
3167
原创 Windbg扩展指令开发教程
之前我曾提供了导出stl map和set内容的windbg扩展指令库,并给出了使用方法。授人以鱼不如授人以渔,下面的文章将以开发一个导出CMap容器内容的windbg扩展指令cmap为例,介绍如果开发一个windbg的扩展指令库。
2016-11-04 13:10:03
1490
原创 Linux下c++程序内存泄漏检测代码范例
Linux下对于程序内存泄漏检测的方法很多,最常用的的莫过于使用valgrind工具。但是valgrind相当于让程序在虚拟机中运行,会带来较大的系统资源开销,还会对程序的运行效率产生较大影响,对于那种资源占用大的程序,如果需要长时间运行才能暴露的泄漏问题,它就显得不太好用。linux下的c++程序中自己实现一个轻量级的泄漏检测代码其实是比较方便的,下面我就给出一个简单的范例,并作简单的说明。
2015-04-17 09:27:05
2623
原创 C++中的goto陷阱
尽管程序设计中不提倡使用goto语句,但是有的时候为了简化代码,难免会使用到goto。下面我要讨论的这个陷阱C语言程序中不会遇到,反而C++中稍不注意就会引起问题。直接看以下代码:int _tmain(int argc, _TCHAR* argv[]){ int t1 = 1; if (t1 >0) { goto __next; } int t2 = 5;
2015-04-16 17:00:40
5416
原创 windbg导出stl map和set的插件
windbg自带的stl_map等指令不能正确导出stl容器中的数据,所有我自己写了一个windbg插件stlkit,用于导出stl map和set的数据。1.stlkit拷贝到windbg安装路径下的winext目录中;2.windbg没有自动加载stlkit时,使用.load stlkit指令手动加载;3.!set或!stlkit.set指令导出STL set的内容,使用方法是:!set 变量名!set 地址#成员类型4.!map或!stlkit.map指令导出STL map的内容,使用
2014-07-28 16:50:50
1956
原创 VC和gcc在保证函数static变量线程安全性上的区别
VC和gcc不同,不能保证静态变量的线程安全性。这就给我们的程序带来了很大的安全隐患和诸多不便。这一点应该引起我们的重视!尤其是在构造函数耗时比较长的时候,很可能给程序带来意想不到的结果。本文从测试代码开始,逐步分析原理,最后给出解决方案。 多线程状态下,VC不能保证在使用函数的静态变量的时候,它的构造函数已经被执行完毕,下面是一段测试代码: class TestStatic
2014-07-16 15:10:48
2296
原创 linux 下实现高性能读写锁(read/write lock)
前一篇文章分析了Windows slim read/write lock的工作原理,
2014-07-07 15:05:40
5168
原创 pthread_cond_timedwait按相对时间等待超时完整示例代码
#include #include #include typedef struct mutex_cond{ pthread_condattr_t cattr; pthread_mutex_t i_mutex; pthread_cond_t i_cv; void* i_sigevent; // when "OR" flag i_si
2014-04-11 17:48:49
14485
1
原创 全角字符大小写转换实现
在windows上应用层提供的字符串处理函数一般是不能够处理全角字符大小写问题的。例如,_wcsicmp()并不会认为全角字符A和全角字符a是相等的。又如,CString的方法LowerCase()也不能将全角的A转换为全角的a。遇到需要对全角字符进行大小写转换和大小写不敏感的比较的时候,我们需要用到windows提供的API函数LCMapString函数原型是:int LCMapStri
2012-10-25 18:33:26
1385
原创 Mac OS X设置程序开机启动
以启动/usr/local/lib/FiDaemon程序为例1.进入/Library/StartupItems目录,如果StartupItems不存在,需要创建。创建后确定StartupItems用户和组为"root:wheel",权限为"755"。2.在StartupItems下创建目录FiDaemon。修改用户和组为"root:wheel",权限为"755"。3.在FiDaemon
2012-06-20 09:50:38
2396
原创 Analysis of undocumented Windows function NhGetInterfaceNameFromDeviceGuid
The function NhGetInterfaceNameFromDeviceGuid is derived from the DLL IPHLPAPI. Its effect is to obtain device interface name according corresponding GUID. Such as the network interface card GUID for
2012-04-11 18:59:18
813
原创 linux启动程序和结束程序相关问题解决方法
(一)linux下普通用户下以root身份运行程序(例如:程序FiDaemon的设置): (1)sudo chown root:root FiDaemon(2)sudo chmod u+s FiDaemon(3)启动FiDaemon这时,即使是普通用户下启动FiDeamon,此程序也是以root方式运行的 (二)linux下用户登录后自动运行程序(例如:FiDaemo
2012-04-11 18:12:56
645
原创 windows未公开函数NhGetInterfaceNameFromDeviceGuid分析
windows未公开函数NhGetInterfaceNameFromDeviceGuid分析IPHLPAPI.dll中导出了函数NhGetInterfaceNameFromDeviceGuid,其作用是根据设备GUID获取对应的接口名称。例如网卡GUID为“94C913BF-EFA9-419B-8506-BB88B0F3B34F”,对应的设备接口名称为“本地连接”。但是微软并未公开该函数的使用
2012-03-31 09:54:45
1594
原创 解决CFile输出汉字为乱码的问题
使用CFile操作文件十分方便,但是却会遇到输出汉字到文件后变成乱码的困扰。然而网上流行的解决方案却少有命中问题要害的!其实,解决的办法并不是想像中的那么复杂
2011-01-20 21:10:00
4552
docker进阶与实战
2017-12-05
windbgx86 with stlkit
2016-07-28
C++标准库:自学教程与参考手册(第2版)(英文版)
2015-12-11
深入理解C++11:C++11新特性解析与应用
2015-12-11
windbg导出stl map和set的插件
2014-07-28
SlickEdit 2013 V18 (18.0.1.2) 破解补丁 win32&64 linux32&64 mac32&64
2013-08-23
SlickEdit 2013 V18 (18.0.1.2) 破解补丁win32&64 linux32&64 mac32&64
2013-08-23
新编Windows API 参考大全
2008-04-27
Computer Systems—— A Programmer’s Perspective
2008-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人