- 博客(21)
- 资源 (3)
- 收藏
- 关注
转载 Sep Linux编译安装boost1_51_0
就简单的体验而言,boost1_51_0的编译过程非常简单,非常愉快。提示非常友好,整个过程可以几乎认为自动化完成。较之前版本的编译过程大大简化了操作。1、下载boost1_51_0的压缩包,解压。2、进入解压后的目录并运行./bootstrap.sh。 3、booststrap.sh运行完毕之后会提示你运行./b2。官方文档是./b2 install --prefix=PRE
2013-12-30 11:17:45 1361
转载 sprintf与snprintf
int sprintf( char *buffer, const char *format [, argument] ... );除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:格式化字符串上。printf和sprintf都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,
2013-12-20 19:13:11 1208 1
转载 snprintf函数用法
int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n 的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result1(推荐的用法)#include
2013-12-20 19:12:29 1188
转载 C字符串处理函数
void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。void *memcpy (void *dest, const void *src, size_t n);从s
2013-12-20 19:09:27 684
原创 boost::system::error_code ec 用法
首先要加一个boost_system库 // setp 1: 创建一个 io_service实例 boost::asio::io_service svc; // step 2: 创建一个 tcp::socket对象,现在还不能用于收发数据 tcp::socket sock(svc); // step 3: 创建一个指向服务器的地址对象,用于 socket.connect()操作
2013-12-18 11:52:28 12329 1
转载 阻塞,非阻塞IO和同步,异步IO
在看ACE的过程中,难免对socket的一些特别的api有点质疑,于是不得不求助于unix网络编程,在看的过程中终于懂得了阻塞,非阻塞和同步,异步的区别,以前认为非阻塞就是一中异步模式呢,哎,看来内功真的不行,太菜鸟了,下面开始讲解一下他们的真正含义:Unix下的五种I/O模型是:阻塞I/O非阻塞I/OI/O复用(select 和poll)信号驱动I/O异步I/O
2013-12-17 18:41:25 897
原创 boost 异步IO 客户端 实例代码
#include #include using namespace std;using namespace boost::asio::ip;boost::asio::io_service svc;tcp::socket sock(svc);char buf[512];string msg;void handleConnect(const boost::system::err
2013-12-17 17:31:30 1047
原创 boost TCP 同步IO客户端 示例演示
#include #include int main() { using namespace std; using namespace boost::asio::ip; // step 1, 创建一个 io_service 实例 boost::asio::io_service svc; // step 2, 创建一个 tcp::acceptor 对象,用于随后接受来自客户端的连
2013-12-17 17:28:03 1015
原创 boost TCP 同步IO服务端 代码
#include #include int main() { using namespace std; using namespace boost::asio::ip; // step 1, 创建一个 io_service 实例 boost::asio::io_service svc; // step 2, 创建一个 tcp::acceptor 对象,用于随后接受来自客户端的连
2013-12-17 17:27:01 1213
原创 boost 异步IO 服务端实例代码
/* * tcp_async_echo_server.cpp * * Created on: Dec 16, 2013 3:17:37 PM * Author: Jeffrey Cheng * Web: http://www.xuanyuan-soft.cn * Mail: kwarph@gmail.com */#include #in
2013-12-17 17:24:21 1535
转载 io阻塞与io非阻塞之
handscup:这里要注意,其实非阻塞IO和异步IO的概念一样,此文所说的异步/异步,指的是线程,且不完全正确。正确的要看http://en.wikipedia.org/wiki/Asynchronous_I/O-----------------------同步与异步IO、阻塞与非阻塞IO很多时候我们常常看到同步与异步,阻塞与非阻塞的出现。有的地方直接将同步与阻塞画上了等号。
2013-12-17 17:22:40 771
转载 Qt入门-使用QT+VS2008开发windows应用程序
QT是跨平台的应用程序开发工具,闻名遐迩,下面使用VS2008结合QT开发一个应用程序。(1)打开VS2008,新建QT工程 (2)点击下一步,这里是选择需要使用的QT库(3)点“下一步”“class name”:指定类的名称,这里写“qt_app”;“Base class”:指定自定义类的父类,这里选择“QMainWindo
2013-12-13 18:55:06 1790
原创 QtCored4.dll 解决方法 提供这个文件所有qt版本
QtCored4.dll文件下载,解决找不到QtCored4.dll的问题QtCored4.dll控件常规安装方法(仅供参考):一、如果在运行某软件或编译程序时提示缺少、找不到QtCored4.dll等类似提示,您可将从脚本之家下载来的QtCored4.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。二、您从我们网站下载下来文件之
2013-12-13 17:22:21 4053
原创 万能指针: void*
#### 万能指针: void*# 任意类型的指针都可以赋值给void*# void*不能直接进行“去引用”操作# 对void*操作:● 将任意类型的指针赋值给void*● 将一个void*对象赋值给另一个void*对象● 显式的将void*转换成其它类型的指针● 比较两个void*对象是否相等● 除上述操作之外的操作均不安全或不允许
2013-12-13 12:01:09 1139
原创 指针对象的产生方式
● 通过取址操作符(&)获取其它对象的地址● 通过 new 操作符获取动态分配的对象地址● 通过其它指针对象赋值● 指向一个数组
2013-12-13 11:59:41 713
原创 使用指针的常见问题
# 内存泄漏:一块堆内存没有被释放,也没办法被本进程和其他进程继续使用。 栈区内存可以由操作系统内核管理和回收,堆区内存,必须有应用程序进行 回收delete# 使用未初始化指针(如空指针,无效指针) int k = 8; int*p = &k 取k变量内存地址 int *p = new int; *p=100; # 悬挂指针 doubl
2013-12-13 11:58:17 929
原创 C++ 指针 数组指针 二维数组与指针 直接解释底层 各种指针(字符指针,函数指针,数组指针)解释
###################################################指针##################################################### 指针 Pointer :指针是存储内存地址的变量,内存地址如0x558## 指针类型,每一个数据类型 + * 是一个数据类型float* fp = (float*) &n;
2013-12-13 11:56:23 989
转载 Linux网络编程系列-获取机器名和ip
[cpp] view plaincopy#include #include using namespace std; int main() { int result = 0; char hostName[100]; struct hostent* host = NULL; result = gethostname(hostName, 100);
2013-12-12 11:37:30 1366
转载 linux批量转换文件编码
#!/bin/bash - #===============================================================================## FILE: conv.sh# # USAGE: ./conv.sh # # DESCRIPTION: 一个支持把整个目录递归转换GB2312为UTF-8的
2013-12-11 15:52:41 1351
原创 BOOST_AUTO
#define BOOST_TYPEOF(expr) BOOST_TYPEOF_KEYWORD(boost::type_of::ensure_obj(expr))BOOST_TYPEOF_KEYWORD();define BOOST_TYPEOF_KEYWORD __typeof____typeof__(var) 是gcc对C语言的一个扩展保留字,用于声明变量类型,var可
2013-12-11 11:12:49 1913
转载 BOOST_TYPEOF和BOOST_AUTO
头文件里定义了两个宏:BOOST_TYPEOF和BOOST_AUTO,分别用于仿真C++新标准的typeof和auto关键字,可以在编译期自动推导表达式的类型。它们不仅能够推导C++语言内建的int、double、数组、函数指针等等类型,也支持标准库中的容器类型,使程序员再也不需要写复杂的类型定义就能够轻松声明变量。这两个宏完全模仿了typeof和auto关键字的用法,除了因为宏的语法
2013-12-10 16:18:11 828
redis设计与实现(第二版) 带目录
2017-09-01
redis-3.0注释版源码
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人