- 博客(15)
- 资源 (35)
- 收藏
- 关注
原创 linux下编译raknet
下载地址:http://www.raknet.com/raknet/downloads1.编译成静态库。 cd Soure g++ -c *.cpp ar rc libraknet.a *.o g++ -shared -O3 -fPIC -o libraknet.so.0.0.0 *.cpp2.将生成的库文件拷贝到系统库下 cp libr
2013-11-26 14:03:05 2274
原创 HTTP&POST使用阻塞之郁闷
这个事情周五开始做的,搞了一天问题还是没解决,查了很多资料,网上提出同样问题的人都是少的可怜。包括周六一天,两天时间,浏览器都点爆了,也就看到网上有两个人提出类似问题,一个是JAVA,一个C++。JAVA代码也贴出来了,问题出来后后面很多人跟帖,有一个很专业似的,在那大侃,说不能用读行的方式,然后又说流的原理,乱七八槽,说的煞有其事,浪费了我很长时间去证明那人就是个傻逼,不懂装懂。
2013-11-25 08:30:50 5836 2
转载 字典树技术
今天看了字典树原理,顺便AC了几个简单的题目,做一下总结。(字典树)字典树的基本功能是用来查询某个单词(前缀)在所有单词中出现次数的一种数据结构,它的插入和查询复杂度都为O(len),Len为单词(前缀)长度,但是它的空间复杂度却非常高,如果字符集是26个字母,那每个节点的度就有26个,典型的以空间换时间结构。字典树基本模板:按 Ctrl+C 复制代码代码 #def
2013-11-15 15:35:35 1148
转载 linux多线程之自旋锁技术
自旋锁是SMP中经常使用到的一个锁。所谓的smp,就是对称多处理器的意思。在工业用的pcb板上面,特别是服务器上面,一个pcb板有多个cpu是很正常的事情。这些cpu相互之间是独立运行的,每一个cpu均有自己的调度队列。然而,这些cpu在内存空间上是共享的。举个例子说,假设有一个数据value = 10,那么这个数据可以被所有的cpu访问。这就是共享内存的本质意义。 我们可以看一段Lin
2013-11-14 09:49:04 1459
转载 linux多线程之嵌套锁技术
嵌套锁这个概念,主要是为了根据编程中的一种情形引申出来的。什么情况呢,我们可以具体说明一下。假设你在处理一个公共函数的时候,因为中间涉及公共数据,所以你加了一个锁。但是,有一点比较悲哀。这个公共函数自身也加了一个锁,而且和你加的锁是一样的。所以,除非你的使用的是信号量,要不然你的程序一辈子也获取不了这个锁。[cpp] view plaincopyprint?HAND
2013-11-14 09:46:01 4197
转载 linux多线程之原子锁技术
原子锁是多线程编程中的一个特色。然而,在平时的软件编写中,原子锁的使用并不是很多。这其中原因很多,我想主要有两个方面。第一,关于原子锁这方面的内容介绍的比较少;第二,人们在编程上面习惯于已有的方案,如果没有特别的需求,不过贸然修改已存在的代码。毕竟对很多人来说,不求有功,但求无过。保持当前代码的稳定性还是很重要的。 其实,早在《多线程数据互斥》这篇博客中,我们就已经介绍过原子锁。本篇
2013-11-14 09:44:39 4867 1
转载 linux之读写锁技术
在编写多线程的时候,有一种情况是十分常见的。那就是,有些公共数据修改的机会比较少。相比较改写,它们读的机会反而高的多。通常而言,在读的过程中,往往伴随着查找的操作,中间耗时很长。给这种代码段加锁,会极大地降低我们程序的效率。那么有没有一种方法,可以专门处理这种多读少写的情况呢? 有,那就是读写锁。 (1)首先,我们定义一下基本的数据结构。[cpp] vi
2013-11-14 09:42:18 2254 1
转载 线程cpu绑定技术
初次了解到cpu亲和力这个概念,通俗的说就是把某个线程绑定到某个cpu上去跑,不知道这样说准不准确。 linux用 cpu_set_t数据结构表示cpu核的集合。第一位表示第一个cpu核,最后一位表示最后一个核。 Linux 内核 API 提供了一些方法,让用户可以修改位掩码或查看当前的位掩码: ?sched_set_affinity() (用来修改位掩码) ?sched_get_
2013-11-14 09:29:51 3035
原创 线程池技术
由于时间有限,我简单说一下,然后附上一个例子。例子是别人写的,找不到远处,但我看了下代码写的很好。有些应用,需要大量开辟线程来处理事务,但处理完后,线程退出。比如web服务器,比如同时有N K用户来访问的话,那同时就要有N K个线程,这么多的线程调度同时存在肯定是不怎么有利于系统性能的,而且,系统对线程数目应该不是没有数量限制的。这一点我没研究过,但理论上应该是这样的。这个时候我们就需
2013-11-14 09:19:09 1352 1
转载 内存池技术
书名:《C++应用程序性能优化》 作者:冯宏华、徐莹、程远、汪磊 等编著 出版社:电子工业出版社 出版日期:2007 年 03 月 ISBN:978-7-121-03831-0 购买: 中国互动出版网、dearbook推荐章节:前言 和 目录第 2 章:C++ 语言特性的性能分析第 6 章:内存池更多推荐书籍,请访问 de
2013-11-14 09:09:19 1242
转载 nfs挂载目录创建文件无权限的解放方法
Q:使用touch创建文件时,怎么报“Permission denied”或“权限不够”错误? A:检查NFS服务端的共享目录,看属主和组是否为nfsnobody。如果不是,更改之,如下所示:(在NFS服务端所在系统上操作) chown -R nfsnobody /vmsnfs chgrp -R nfsnobody /vmsnfs 或chown -R nfsnobody:nfs
2013-11-12 14:53:01 17734
转载 linux nfs服务器的配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组
2013-11-12 10:54:22 1351
转载 linux下ftp操作命令
1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入:ftp 192.168.1.1b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。2. 下载文件下载文件通常用get和mget这两条命令。a) get 格式:get [remote-file] [local-file]将文
2013-11-11 10:05:47 1039
原创 linux samba服务器的配置
说明:下面是我copy过来的,但是,我只用了几个命令就搞定了。两个命令:第一个建用户;第二个启动服务。然后就OK了。但下面的贴出来供大家参考。 实验步骤:1、安装有关Samba的RPM包(samba、samba-common、samba-client)2、创建Samba用户3、修改配置文件4、重启samba服务5、设置目录访问权限6、测试具体步骤如下:1、安
2013-11-08 08:43:21 9874
原创 修改Linux启动Logo技术
1、 修改启动Logo,换成自定义的图片目的:开机后显示自定义的图片,替代小企鹅。(1) 准备一张.png图片(2) 使用Linux命令将图片转换为ppm图片:# pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm# pnmquant 224 logo_linux_clut224.
2013-11-07 09:25:16 2018
linux设备管理之devfs文件系统
2012-09-19
NAND_Flash格式化毕业论文
2012-09-18
桌面休息提醒
2012-08-16
ok6410_u-boot-2011.06-rc2.tar.gz移植
2011-10-31
lucview for arm
2011-10-22
八皇后问题完整文档 用c++语言
2010-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人