自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (24)
  • 收藏
  • 关注

原创 PYTHON 操作 REDIS

一直用C++的,不会脚本,有时候真的很头大,C++编译,部署太麻烦了~import redisimport stringr = redis.Redis(host='192.168.1.110',port=6381,db=0)keys = r.keys('R_AWARD*');for k in keys:# print(k) +':' + r.get(

2015-11-12 09:53:36 466

转载 UEFI、GPT安装Windows8.1 , Windows 7

这方面的问题越来越普遍,所以记下来。  UEFI 模式下安装操作系统(暂不涉及Linux等其它操作系统):  1、硬盘必须是GPT格式,系统必须是64位,UEFI不支持32位系统。  备注:严谨地说,UEFI也可以引导MBR磁盘上的x64系统,但要做特殊设置。这里所说的是一般情况。  2、传统的MBR分区只支持到2.2T硬盘,大于2.2T的硬盘需要用到GPT,不然就浪费了;支持UE

2014-10-05 20:46:55 2037

原创 工作总结之:优化函数调用

最近相对比较有时间,于是想把代码整理一下,重构:永无止境.        去年的时候,SOCKET用的是ACE,因为是公司用了很长时间的一个框架,也就没细想,直接拿来过来用。但虫虫和棋牌不同:服务器要处理的数据量完全不是一个级别,而公司包装过的ACE竟然使用的是阻塞模式。于是,一个风高月黑的晚上,服务器卡得动弹不得。为了查这个BUG,我将所有的比较复杂的函数都加了时间跟踪,也就

2014-05-27 16:09:56 835

原创 乱谈C++

总结,写成文档,再拿来分享和讨论,是我在做华为外包最大的收获之一。      有一天,和朋友乱谈品酒师:品酒师如何不会因为个人的品味而影响自己对酒质做出客观,公正的评值。与品酒师相反,程序员大都数时候就像教徒一样虔诚和狂热。他们固守着自己或者某人的观点,拒绝接受新的语言或者方法,过度自信或者过度不自信,过份追求技术本身而忘记了技术的目的。等等如此。现实中,有人害怕微软的串口通讯组件有太

2014-05-27 16:02:29 893

原创 程序之路:我们一起来调BUG!

自从PHP接手翻牌这功能,就一直有用户反馈翻牌不成功。到现在,好几个月了吧。我靠,比小强的生命力还强的BUG。PHP和C++都查过这个问题,然后PHP告诉我们:服务器端写的验证信息有误,导至翻不了牌。吐血,十几行的代码,我看了多次,就是没能看出什么问题来, 于是怀疑是PHP的BUG,让PHP加一点日志去定位一下。今天下午,PHP的同学,又提起这个问题。我郁闷得快吐血了。习惯地先看看自己的代码,

2014-05-27 15:59:12 700

原创 服务器端工作总结

1. 让高性能这个词,见鬼去吧,建议大家多看一下>里面有关程序优化的那几节。 2. 与其他功能模块交互的地方(比如调用PHP接口),必须输入完整的流水日志,包括完整的输入参数和输出参数,并且在任务日志等级下均为可见。 3. 与其他功能模块交互的接口和一些低机率的事情(比如1/ 100W的掉落率),必须写有测试程序或脚本,方便测试组测试和BUG定位。 4. 任何逻辑错误都必须有日志输入,

2014-05-05 16:51:33 923

原创 C++服务器端编码心得

1. 用断言宏来检测程序的逻辑错误。分析一下程序CORE掉的原因,绝大部分是因为空指针或者无效指针引发的,而绝大部空指什和无效指针是因为程序的逻辑错误导至的。因此,在调试版中用断言宏来检测逻辑错误,是一个很有效的方式。 以下是我程序里面的一段代码: //如果坐位不为空 if (pSeat != NULL) { //那么这个座位上就一定有人 ANT_WARS_ASSERT

2014-05-05 16:48:21 750

原创 boost 1.55在GCC 4.8.2 下的BUG

如果你的库使用了boost 1.55 下的ASIO,并且使用-std=c++11来编译话,你的程序也需要添加 -std=c++11,否则各种问题。包括:asio::io_server::run() 直接返回和boost::asio::ip::tcp::socket 的句柄值会出错。因此建议:如果你的库或程序用到了BOOST,则应统一使用 -std=c++11或者全部不使用-std=c++11。

2014-01-03 11:42:14 1346 1

原创 SUSE 10 下GDB无法查用调用堆栈的解决方案

一直喜欢玩技术,为了使用C++11,把编译服务器的GCC升级到了4.8.2。编译出来的程序放在线上环境上跑了几周,没问题。但昨天版本更新后,有一个程序CORE,用GDB老是看不到调用堆栈,整了一天,也没搞定(-g 这么弱的错误,当然不会发生)。今天早上跑来一看,腾讯CVM上的SUSE 10竟然还是用的GCC 4.1.2 。我突然一起,是不是GDB也一样的古老呢?一看GDB竟然是6.6的,吐血。果断

2013-12-24 14:27:51 847

转载 如何静态链接到 libstdc++. 喜欢升级的GCC的朋友快来看看。

Linking libstdc++ staticallyChristopher Baus writes about his problems linking libstdc++ statically. Yes, making C++ binaries that will work properly in different Linux distributions is somewhat

2013-12-05 15:24:42 14349 1

原创 64 SUSE 下GCC 4.8.2 编译的 skipping incompatible 问题

最近把GCC升级到了 4.8.2 ,结果编译的时候提示以下错误:/usr/bin/ld: skipping incompatible /usr/local/lib/libstdc++.so when searching for -lstdc++/usr/bin/ld: skipping incompatible /usr/local/lib/libstdc++.a when searchi

2013-11-14 14:31:47 12964 2

原创 cocostudio UIListView 滚动到最后一个精灵时还能滚动的原因

UIListView 如果是垂直滚动,第一个精灵必须是最上一个。害得我看了好久的代码啊

2013-10-22 10:12:06 1698

原创 automake 与 NDK 交叉编译

把$NDK_ROOT导入PATH //如果编译器或者./configure 提示找不到 crtbegin_so.o 则把这些链接到当前源代码所在目录。ln -s $NDK_ROOT/platforms/android-14/arch-arm/usr/lib/crtbegin_so.o ln -s $NDK_ROOT/platforms/android-14/arch-arm/usr

2013-10-07 21:10:02 1820

原创 NDK ANDROID.MK 常用的变量

指定APP的运行平台,交叉编译的时候NDK-BUILD跟据这上去找相应的系统头文件和库 APP_PLATFORM := android-10指定交叉编译器,因为我项目中用了C++11的一部特性,所以,指定GCC 4.8 来编译NDK_TOOLCHAIN_VERSION=4.8指定程序运行体系架构APP_ABI:=x86 以下内容添加在ANDROID.MK中 我在

2013-10-07 15:45:11 5017

原创 EClipse + NDK java.lang.NullPointerException 的解决方法

EClipse + NDK + DEBUG ANDROID NATION APP 时报错:java.lang.NullPointerExceptionat com.android.ide.eclipse.adt.internal.sdk.Sdk.getDeviceVersion(Sdk.java:808)at com.android.ide.eclipse.ndk.internal.l

2013-10-05 11:47:17 3734

原创 COCOS2D-X cannot find module with tag cocos2dx

在你的Android.mk中导入一个路径即可!注意换成你项目的路径 $(call import-add-path, /home/nsms/project/cocos2d-x-2.2.0)$(call import-add-path, /home/nsms/project/cocos2d-x-2.2.0/cocos2dx/platform/third_party/android/preb

2013-10-05 00:06:21 2249

原创 64位系统下编译32位库

./configuer CFLAGS="-m32 -march=i386 -mtune=i386"或者直接在你的MAKEFILE 中加行也行

2013-09-06 14:02:26 982

原创 BerkeleyDB 的编译和安装

到官网下载最新版本(我一般习惯用最新版本,所以自己搜索下载地址吧)1. 把下载过来的代码包解压。。。2. #cd db-***/build_unix   #../dist/configure 特别注意,如果要使用其C++接口的话, 请执行:../dist/configure   --enable-cxx   否则不会生成libdb-cxx.so.3. #make 4 #

2013-05-02 15:59:43 1924

原创 深入设模式之:迭代器模式之编写一个兼容STL 算法的Iterator

#include #include class Seat{public:Seat(int no):no_(no) {}int no_;};class Table{static const std::size_t BEGIN_SEAT = 1;static const std::size_t INVALID_SEAT = 0;static const std::size

2013-04-12 16:17:23 924

原创 std::sort 升序 ? 降序

Std::sort这个函数,大家知道用,而且入可以使用一个自定义的元素对比函数。比较郁闷的是,老是忘了这个函数返回TRUE,对排序结果的影响(升序还是降序) 于是用GTEST写了一段代码(测试代码,将就些看吧) class HandHogRecord{public:explicitHandHogRecord(chips_type bet):bet_(

2013-04-08 18:00:19 9134

原创 Variable 'innodb_log_buffer_size' is a read only variable

今天在执行 :SET GLOBAL innodb_log_buffer_size = 9437184; 遇到 Variable 'innodb_log_buffer_size' is a read only variable解决方案:删除掉之前的日志文件,sudo rm -fr /var/lib/mysql/ib_logfile*重启你的MYSQL即可。

2013-03-12 17:00:58 7579 1

原创 分享一个延时加载的封装代码

// delayloader.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;#include #include template class DelayLoader{private: DelayLoader(); DelayLoader(const De

2012-12-07 14:25:56 593

转载 《程序员的自我修养》中关于加锁不能保证线程安全的一个错误

《程序员的自我修养》中关于加锁不能保证线程安全的一个错误AuthorGuanchengPublished on04/09/2011Categories并行编程21Tagsmemory visibility, Pthreads, 原子操作, 多线程编程, 线程安全在《程序员的自我修养 — 链接装载与库》一书第28页“过度优化”这一节中,作者

2012-11-30 10:47:59 973

转载 多线程程序中操作的原子性

0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下对变量的读写操作是否是原子的?我

2012-11-30 10:20:02 422

转载 多线程程序常见Bug剖析(下)

上一篇文章我们专门针对违反原子性(Atomicity Violation)的多线程程序Bug做了剖析,现在我们再来看看另一种常见的多线程程序Bug:违反执行顺序(Ordering Violation)。简单来说,多线程程序各个线程之间交错执行的顺序的不确定性(Non-deterministic)是造成违反执行顺序Bug的根源[注1]。正是因为这个原因,程序员在编写多线程程序时就不能假设程序

2012-11-30 10:18:42 525

转载 多线程程序常见Bug剖析(上)

编写多线程程序的第一准则是先保证正确性,再考虑优化性能。本文重点分析多线程编程中除死锁之外的另两种常见Bug:违反原子性(Atomicity Violation)和违反执行顺序(Ordering Violation)。现在已经有很多检测多线程Bug的工具,但是这两种Bug还没有工具能完美地帮你检测出来,所以到目前为止最好的办法还是程序员自己有意识的避免这两种Bug。本文的目的就是帮助程序员了解这两

2012-11-30 09:57:37 633

原创 libmemcached 1.0.10 SUSE 10 下无法正常工作的原因

公司应接入TX平台,编译用的服务器是SUSE 11 SP2, 但TX用的却是非常古老的 SUSE 10 SP1,将程序编译好后,放到TX服务器上,一直在报读写memcached失败的错误,用GDB定位了一下:libmemcachedstatic memcached_return_t network_connect(org::libmemcached::Instance* server)

2012-08-28 12:13:27 747

原创 64位系统下libmemcached在GCC 4.7.1 下编译失败的解决方案

今天新装了GCC 4.7.1,于是想把老的库重新编译一下(./configure CC=/usr/local/bin/gcc 来指定编译器版本。但想到遇到如下错误:  CXXLD  libhashkit/libhashkit.la/usr/local/lib/../lib/libstdc++.so: could not read symbols: File in wrong f

2012-08-25 17:57:35 3840 2

原创 如何使用指定版本的GCC/G++来编译autotools打包的程序

对于autotools来生成Makefile的程序包,不建议修改Makefile来指定GCC/G++的版本。最佳方案:./configure CC=你想使的C编译器的绝对路径./configure CXX=你想使的C++编译器的绝对路径比如:./configure CXX=/usr/local/bin/g++这样就可以很方便地让系统内多个版本的编译器共存了。。。

2012-08-25 16:40:48 6422

原创 GCC/G++乱码的完美解决方案

GCC/G++乱码的解决方案在网上流传得最多的是:export LANG=C,这个方法是可以解决GCC/G++乱码的问题,但是会导至系统中一些其他工具无法无法正常工作。最完美的解决方案是:1. locale命令来查看你的系统使用的字符集。比如我的SUSE11 ,默认为:en_US.UTF-82. 将你的SHELL工具的编码方案更改成与系统编码方案一至,即可。

2012-08-22 17:49:49 8612 1

转载 陈皓:C++的坑真的多吗?

陈皓:C++的坑真的多吗?发布时间:2012-08-6 09:49     来源:左耳朵耗子     分类: 程序员 先说明一下,我不希望本文变成语言争论贴。希望下面的文章能让我们客观理性地了解C++这个语言。(另,我觉得技术争论不要停留在非黑即白的二元价值观上,这样争论无非就是比谁的嗓门大,比哪一方的观点强,毫无价值。我们应该多看看技术是怎么演进的,怎么取舍的。)

2012-08-21 14:44:38 7970

原创 使用C++11里面的Lambda表达式,来取代仿函数

圣人告诉我们,用C++中尽可能使用for_each来迭代容器,但是为了使用for_each,我们不得不写很多个 operator (...) 现在有了Lambda表达式:一切都变得和谐了!看如下代码char str[]="Hello World!";int uppercase = 0; for_each(str, str+sizeof(str), [&u

2012-08-21 09:35:38 3373

原创 C++ 在模版类里面使用STL 报错?

看代码:typedef list > Timers_type;typedef typename Timers_type::iterator  Timers_iterator_type;明白了吗?

2012-08-18 19:38:25 601

原创 抓包工具.超级好用

<br />WildPackets.OmniPeek.Enterprise.v6.0.2

2010-06-17 22:56:00 584

scientific understand 3.0的注册机

scientific understand 3.0的注册机,

2013-11-19

ACDSEE PRO 6 破解补丁

ACDSEE PRO 6 破解补丁,亲测可用

2012-10-02

jsoncpp liunx编译

我用用autotools重新打包的jsoncpp-src-0.5.0.tar.gz。 方便大家在LIUNX下面编译使用. 1: ./configure 2: make 3: sudo make install 即可。

2011-06-16

pokerTH_rc4

poker 源代码,加了密码,需要的,单独联系我

2010-06-21

Visual Assist X 10.6.1822 FOR 2010

目前最新版本。 支持VS2010!!!去官网下载,然后替换就可以了。

2010-05-04

vmware 7 keygen

vmware 7 keygen 不好意思,上次上传错了文件,这次绝对是正确的。

2010-04-11

stlsoft-1.9.96-hdrs

一个很不错的开源STL库。有兴趣的,更可以深入学习一下。

2010-03-28

uestudio09.20

uestudio的最新版本,中文版。 人见人爱的文本编辑器 分为两个压缩包,请下载到同一目录,再解压 Name:WWW.GREENDOWN.CN Code:LLJMK-JJJLO-TRHMK-RRESH-FDKJQ-NHPNW-OPDFR-WQESQ

2010-02-05

XMLSpyEnt2010.part4.rar

XMLSpyEnt2010.part4.rar

2010-01-09

XMLSpyEnt2010.part3.rar

XMLSpyEnt2010.part3.rar

2010-01-09

XMLSpyEnt2010.part2.rar

XMLSpyEnt2010.part2.rar

2010-01-09

xmlspy 2010

最新版本 MISSNSMS CRYSTALSOFT H5XYTWJ-PD4AAH5-HD4T45J-4MXCXL6-HPADJ9L-YYUY51L-H6Y8U42 还需要下载以下包才能解压 XMLSpyEnt2010.part4.rar XMLSpyEnt2010.part3.rar XMLSpyEnt2010.part2.rar

2010-01-09

tinyxml_2_5_3

tinyxml_2_5_3.zip 最新版本,一个优良的XML解析器

2010-01-08

IBM Rational 7 系列软件 注册文件

包含有IBM Rational rose , Robot , clearcase, clearquest, load test的注册许可,特别提醒,是第7版的,不适用于2003

2010-01-05

sugo 五笔输入法

sugo 五笔输入法最新版本,为某些不能下载却可以访问本网站的公司用户特别提供

2010-01-05

SSHSecureShellClient-3.2.9.exe

SSHSecureShellClient 的最新版本

2009-12-29

空空如也

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

TA关注的人

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