- 博客(69)
- 资源 (1)
- 收藏
- 关注
原创 androidNDK经验总结
1. NDK Studio 创建的虚拟机的配置文件C:\Users\andi\.android\avd\AVD4.2.avd\config.ini 要加入 eg hw.ramSize=1024MB2. fixbug: 解决ndk-build clean 错误ndk\build\core\build-binary.mk49行 :修正为 $(cleantarget): PRIVAT
2014-01-27 11:34:37
600
原创 apache 目录权限不能更改
如果apache配置都没有问题 FollowSymLinks 也配置了软链就是不能正常访问,可以考虑SELinux是否打开的
2014-01-08 16:32:06
380
原创 readdir 报错Value too large for defined data
linux 下64位系统下 执行32位的程序 readdir 报Value too large for defined data错误原因应该是文件节点inode64读取的问题编译时加入-D_FILE_OFFSET_BITS=64
2014-01-08 12:36:20
597
转载 epoll原理
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传
2013-09-26 12:02:31
167
原创 Linux多线程服务器编程 读书笔记
对象做到线程安全,在构造期间不要泄漏this指针1. 不要再注册期间注册任何回调2. 不要再构造函数中吧this船歌跨线程的对象3.
2013-09-25 14:37:40
148
CentOS 6 安装后基本配置
1.网络配置(1)命令配置# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 //ip地址、子网掩码# route add default gw 192.168.0.1 dev eth0 //网关# hostname centos //计算机名(2)文件配置修改IP地址修改对应网卡的IP地址的配置文件
2013-03-26 16:34:51
190
转载 boost::bind介绍
boost::bind介绍bind的中文翻译是"绑定",它的作用就是把参数与象函数一样的"东西"进行"绑定",然后象函数一样运行.那象函数一样的"东西"到底是什么东西呢?象函数一样的"东西"还挺多的.int f1();free function,这当然是一种.int C::method();某个class的method,当然也是一种.typedef int (*pf
2012-11-02 16:25:12
151
unsigned char* 转 string
unsigned char bytes [] int length = bytes_message->getBodyLength(); char* bytes = new char[length]; memcpy(bytes, bytes_message->getBodyBytes(), length);
2012-02-28 15:54:07
914
原创 PHP扩展二进制数据返回
使用C或者C++编写PHP扩展时需要返回二进制的字符串是要使用RETURN_STRINGL宏进行返回用法如下:RETURN_STRINGL(string, length, duplicate)返回一个定长的字符串。其余跟 RETURN_STRING 相同。这个宏速度更快而且是二进制安全的。
2012-02-28 15:52:39
1301
原创 C++ undefined reference to 错误
undefined reference to xxx 一般都是没有链接对应的lib文件造成的例如t.cc:(.text+0x13): undefined reference to `std::cout'没有链接标准库文件编译时加参数 -lstdc++ 即可
2012-02-28 14:25:46
2602
转载 Let's BOOST THE WORLD .
1. 序言现在学的东西很容易忘记,写这篇文章的目的是能让我在需要时快速找回当时的感觉. Let's BOOST THE WORLD .2. 编译:VC2005注意在 属性->C/C++->预处理器->预处理定义 中加入_CRT_SECURE_NO_DEPRECATE;来屏蔽不必要的警告3. Asio 网络库Boost.Asio是利用当代C++
2012-02-15 12:01:32
175
转载 protobuf的编码方式
本文介绍protobuf的编码方式。源地址一个简单的消息message Test1 { required int32 a = 1;}我们创建一个Test1消息,给a赋值150,序列化之后存储,我们得到如下的3个byte数据(16进制表示):08 96 01非常的简洁,那么这是如何得到的呢?下面我们开始分析Varints编码首先介绍Var
2012-02-02 16:05:20
607
原创 支持缩进的json序列化类,支持js function 和json
前段时间需要用php的数组生成js对象,需要在php中直接写入js 的简单函数代码function,php的json_encode 木有这样滴功能 无奈自己写了一个json序列化的类,为了方便查看生成的json,加入了缩进的功能, 代码如下:/** * created by wangbinandi@gmail.com at 2011-11-12 21:12 * 可以生成缩进的j
2011-11-17 10:59:38
1564
转载 SHIP S-OFF、ENG S-OFF、软解、白卡解锁释疑
SHIP S-OFF、ENG S-OFF、软解、白卡解锁释疑 源地址DHD刚上市,中文rom出来后,入手同学多了很多 市场也确实比较复杂,什么JS白卡解啊,软解啊,这刷不了啊,那刷不了啊,吧啦吧啦吧啦。。。。。。 关心自己手上鸡鸡状态的同学不少,就这些个问题,大致说明下吧 方向键下,power开机进FASTBOOT 看信息 拿个最常见的出来说明下吧 VIS
2011-10-21 18:05:05
906
转载 TCP/UDP流程比较
TCP 流程UDP流程TCP和UDP的程序差异:socket()参数不同UDP Server不需要使用listen及acceptUDP收发数据用sendto/recvfrom TCP使用send/recvTCP:address message在connect/accept时决定 UDP:在每次的sendto/recvfrom函数中取得address messageUDP:shutdown无效SOCK_STREAM:使用TCP/IP協定。SOCK_DGRAM:使用UDP協定。SOCK_R
2010-12-12 11:56:00
1888
原创 收集C++开发经验
<br />1. 常量字符串放哪里<br />char* msg = "hello"; // 字符串常量 应该用const 来修饰<br />// msg 是个指针,c/c++语言不保证为它翻盘一块内存,其实我们没有现实的为它分配一块内存, <br />它指向哪里? 指向"hello" 当在代码里写了"hello" <br />实际上c++语言分配了一块内存存放这个字符串,<br />当写了char* msg = "hello"的时候,就把hello的内存地址赋给了msg<br />
2010-12-12 10:25:00
437
转载 boost 库linux编译安装(修正 版)
boost 库linux编译安装(修正 版) 相对于Windows来,Linux下的boost编译简单至极。没有那么多的可选编译器,没有那长的编译时间,没有那么多的硬盘使用量,统一的inlude和lib目录,你熟悉命令行,不使用IDE,不需要我那么罗嗦的介绍怎么配置EditPlus。
2010-07-26 23:59:00
831
原创 使用linux共享内存的实现的php内存队列
<?php/** * 使用共享内存的PHP循环内存队列实现 * 支持多进程, 支持各种数据类型的存储 * 注: 完成入队或出队操作,尽快使用unset(), 以释放临界区 * * @author wangbinandi@gmail.com * @created 2009-12-23 */class SHMQueue{ private $maxQSize
2009-12-23 17:47:00
2723
转载 ssh自动登录脚本
#!/usr/bin/expect -f# Expect script to supply root/admin password for remote ssh server# and execute command.# This script needs three argument to(s) connect to remote server:# passwor
2009-12-04 16:55:00
753
原创 url 执行svn up 时的中文文件名问题
通过http的url地址更新测试的服务器的地址时如果有中文的文件名, 执行svn up 会有报错!svn: Cant convert string from native encoding to UTF-8需要设置本地编码, 注意执行命令时一起执行 exec("export LC_CTYPE=en_US.UTF-8 && svn up");
2009-11-24 17:04:00
1804
原创 PHP执行shell捕获输出
if ( $res = popen("ls 2>&1","r")){ while ( !feof($res) ) $result .= fgets( $res, 1024 ); pclose($res); echo $result; }
2009-11-24 16:56:00
1988
原创 php 获取姓名拼音首字母
08年写的一个获取首字母的程序 , 有网友写邮件提到程序bug的问题, 抽了点时间看了一下,把bug给修正了一下<?php/** * created by wangbinandi@gmail.com at 2008-12-29 21:12 * 汉字拼音首字母工具类 * 注: 英文的字串:不变返回(包括数字) eg .abc123 => abc123 * 中文字符串:
2009-06-25 14:11:00
5366
4
转载 你不了解PHP的10件事情
你不了解PHP的10件事情分类:PHP,关键词:性能已有 905 位领导视察,其中有 6 位领导做了批示.1.使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点
2009-03-20 22:14:00
107
原创 More Effective C++读书笔记(4)
M4:避免无用的缺省构造函数构造函数能初始化对象, 而缺省构造函数则可以不利用任何在建立对象时的外部数据就能初始化对象. 例如一些行为特性与数字相仿的对象被初始化为空值或不确定的值也是合理的,还有比如链表、哈希表、图等等数据结构也可以被初始化为空容器.无需任何数据即可建立对象的类可以包含缺省构造函数而需要数据来建立对象的类则不能包含缺省构造函数// 公司的设备类设备必需包含一个IDclass Eq
2009-02-24 21:34:00
488
原创 More Effective C++读书笔记(3)
M3:不要对数组使用多态语言规范中说通过一个基类指针来删除一个含有派生类对象的数组,结果将是不确定的BalancedBST:class BST { ... };class BalancedBST: public BST { ... }; void printBSTArray ( ostream& s, const BST array[],
2009-02-24 21:30:00
446
原创 More Effective C++学习笔记(2)
M2:尽量使用C++风格的类型转换类型转换写法: static_cast(expression) int firstNumber, secondNumber;double result = ((double)firstNumber)/secondNumber; // C的类型转换写法double result = static_cast(firstNumber)/secondNumber;1. s
2009-02-23 12:42:00
612
原创 More Effective C++学习笔记(1)
M1:指针与引用的区别1. 首先,在任何情况下都不能使用指向空值的引用。char *pc = 0; // 设置指针为空值char& rc = *pc; // 让引用指向空值 - 错误string& rs; // 错误,引用必须被初始化string s("xyzzy");string& rs = s; // 正确,rs 指向sstring *ps; // 未初始化的指针, 合法但危险2. 使用引用的
2009-02-23 12:40:00
433
原创 Effective C++学习笔记(18)
第七章杂项 条款45: 弄清C++在幕后为你所写、所调用的函数 ---- 一个类当C++编译器通过它的时候。如果你没有声明下列函数,体贴的编译器会声明它自己的版本。这些函数是:一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符。另外,如果你没有声明任何构造函数,它也将为你声明一个缺省构造函数。class Empty{}; | 等价于 Vclass Emp
2009-02-22 20:53:00
427
原创 Effective C++学习笔记(17)
条款44: 说你想说的;理解你所说的 · 共同的基类意味着共同的特性。 如果类D1和类D2都把类B声明为基类,D1和D2将从B继承共同的数据成员和/或共同的成员函数。见条款43。 · 公有继承意味着 "是一个"。 如果类D公有继承于类B,类型D的每一个对象也是一个类型B的对象,但反过来不成立。见条款35。· 私有继承意味着 "用...来实现"。 如果类D私有继承于类B
2009-02-22 20:52:00
354
原创 Effective C++学习笔记(16)
条款43: 明智地使用多继承 class Lottery { public: virtual int draw(); // ...};class GraphicalObject { public: virtual int draw(); // ...};class LotterySimulation: public Lottery, public Graphica
2009-02-22 20:50:00
360
原创 Effective C++学习笔记(15)
条款40: 通过分层来体现 "有一个" 或 "用...来实现"// "分层" 也称为:构成(composition),包含(containment)或嵌入(embedding)。class Address { ... }; // 某人居住之处class PhoneNumber { ... };class Person { public: ... private: string nam
2009-02-22 20:48:00
334
原创 Effective C++学习笔记(14)
第六章继承和面向对象设计虚函数的含义是 "接口必须被继承",非虚函数的含义是 "接口和实现都要被继承"条款35: 使公有继承体现 "是一个" 的含义 条款36: 区分接口继承和实现继承 · 定义纯虚函数的目的在于,使派生类仅仅只是继承函数的接口 · 声明简单虚函数的目的在于,使派生类继承函数的接口和缺省实现 · 声明非虚函数的目的在于,使派生类继承函数的接口和强制性
2009-02-22 20:47:00
423
原创 Effective C++学习笔记(13)
第五章类和函数: 实现条款29: 避免返回内部数据的句柄class string { public: string(const char *value); // 具体实现参见条款11 ~string(); // 构造函数的注解参见条款m5 operator char *() const; // 转换string -> char*; // 参见条款m5 ...priva
2009-02-22 20:43:00
476
原创 Effective C++学习笔记(12)
条款27: 如果不想使用隐式生成的函数就要显式地禁止它 template class Array { private: // 只声明不定义这个函数! 可以防止Array对象赋值 Array& operator=(const Array& rhs); // ...};1. 不只适用于赋值运算符,适用于条款45所介绍的每一个编译器自动生成的函数2. 赋值和拷贝构造函数具有行
2009-02-22 20:42:00
336
原创 Effective C++学习笔记(11)
条款26: 当心潜在的二义性 class B; // 对类B提前声明class A {public: A(const B&); // 可以从B构造而来的类A};class B {public: operator A() const; // 可以从A转换而来的类B};void f(const A&);B b;f(b); // 错误!——二义一看到对f的调用,编译器就知道它必须产生一
2009-02-22 20:41:00
371
原创 Effective C++学习笔记(10)
条款24: 在函数重载和设定参数缺省值间慎重选择如果可以选择一个合适的缺省值并且只是用到一种算法,就使用缺省参数(参见条款38)。否则,就使用函数重载// 一个表示自然数的类class natural {public: natural(int initvalue); natural(const natural& rhs);private: unsigned int value;
2009-02-22 20:38:00
381
原创 Effective C++学习笔记(9)
条款22:尽量用"传引用"而不用"传值"class person{public: person(); ~person(); // ...private: string name, address; };class student: public person{public: student(); ~student(); pri
2009-02-22 20:35:00
329
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人