上一页 1 ··· 172 173 174 175 176 177 178 179 180 ··· 249 下一页
摘要: 在前一篇文章—— Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。 一、什么是命名管道 命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的没有名字的管道(匿名管道)类似。 由于Linux中所有的事物都可被视为文件,所以对命名管道的使用也就变得与文件操作非常的统一,也使它的使... 阅读全文
posted @ 2013-08-23 18:45 pangbangb 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 之前在统计导出各区服玩家消费的时候需要进行升序降序混搭的多条件排序。 需求是这样的。区服从小到大排,如果区服相同,则按消费从大到小排。 实现方法是利用python的sort算法是稳定排序,对数据进行多次排序,先排次要条件,后排主要条件。 还有一种更简洁的一行流的方法,不过只有当待排数据是数值的时候才有效。此方法利用相反数的性质,在前面加个负号。 下面上代码。#假设数据如下。data = '''区服,玩家id,累积消费3,a,23801,b,119004,e,32501,k,1004,j,5992,m,8723,f,55601,y,2500'''i 阅读全文
posted @ 2013-08-23 18:43 pangbangb 阅读(477) 评论(0) 推荐(0) 编辑
摘要: 题目连接;10026 Shoemaker's Problem 题目大意:有一个鞋匠接了n双要修的鞋子, 修每双鞋需要d天,每推迟一天修将亏损val元,问按什么样的顺序修鞋可以保证损失最少,如果有多种情况输出字典序最小的。 解题思路:最开始把损失钱数最大的放在前面,后来发现每层子问题是相互有影响的,所以不能从整体的损失来看,所以后来改成对两个鞋的装态比较,只要考虑哪双鞋放前和哪双鞋放后就可以了。 #include #include #include using namespace std;const int N = 1005;struct State { int id; int da.. 阅读全文
posted @ 2013-08-23 18:41 pangbangb 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 环境:CentOS6.3 X86_641、克隆系统后,网卡无法被识别,主要是因为系统规则中绑定的mac与实际的mac不一致导致的。2、删除 /etc/udev/rules.d/70-persistent-net.rules文件。重启系统。3、到/etc/udev/rules.d/70-persistent-net.rules中修改对应的网卡名称与mac地址,保持与/etc/sysconfig/network-script/ifcfg-eth0一致即可。4、service network restart 即可。 阅读全文
posted @ 2013-08-23 18:38 pangbangb 阅读(243) 评论(0) 推荐(0) 编辑
摘要: MyGui是一个用来创建用户图形界面的库,用于游戏和3D应用程序。这个库的主要目标是达到:快速、灵活、易用。 1.下载准备:源代码:http://svn.code.sf.net/p/my-gui/code/trunk 依赖包:http://sourceforge.net/projects/my-gui/files/MyGUI%20dependencies/ CMake工具:http://www.cmake.org/cmake/resources/software.html 2.将依赖包Dependencies文件夹解压到MyGui目录(注意MyGui目录不要放在中文路径下,否则CMak... 阅读全文
posted @ 2013-08-23 18:36 pangbangb 阅读(314) 评论(0) 推荐(0) 编辑
摘要: System.Threading.Timer 是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。 "只要在使用 Timer,就必须保留对它的引用。 "对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 "当不再需要计时器时,请使用 Dispose 方法释放计时器持有的资源。 使用 TimerCallback 委托指定希望 Timer 执行的方法。计时器委托在构造计时器时指定,并且不能更改。此方法不在创建计时器的线程中执行,而是在系统提供的线程池线程中执行。 创建计时器时,可以指 阅读全文
posted @ 2013-08-23 18:34 pangbangb 阅读(248) 评论(0) 推荐(0) 编辑
摘要: //2612 Find a way//题意:给一幅图,有墙,有KFC,有路。两个人要去KFC约会,有很多个KFC,问两个人去一间KFC总共走的最少步数//广搜水题,居然被初始化卡了两个钟悲剧了。。。对两个人进行BFS,相加步数即可,在网上看到不少人单独写了两个BFS,用两个单独的二维数组去存步数,可以是可以,但是如果真正理解BFS的话,一个BFS一个二维数组就可以了,没有分开的必要,又节约了50行代码量和200*200*4个字节的空间,O(∩_∩)O~#include#include#define MAXN 0x3fffffff;using namespace std;int n, m;cha 阅读全文
posted @ 2013-08-23 18:32 pangbangb 阅读(178) 评论(0) 推荐(0) 编辑
摘要: yield指令,可以暂停一个函数并返回中间结果。使用该指令的函数将保存执行环境,并且在必要时恢复。生成器比迭代器更加强大也更加复杂,需要花点功夫好好理解贯通。看下面一段代码:def gen(): for x in xrange(4): tmp = yield x if tmp == 'hello': print 'world' else: print str(tmp) 只要函数中包含yield关键字,该函数调用就是生成器对象。g=gen()print g #print isinstance(... 阅读全文
posted @ 2013-08-23 18:27 pangbangb 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 什么是类型转换?类型转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。 C与C++的类型转换//C中://复制代码 代码如下:(T)element 或者 T(element)//c++中://复制代码 代码如下:reinterpret_cast (expression)dynamic_cast (expression)static_cast (expression)const_cast (expression)C++的四种强制转型形式每一种适用于特定的目的:dynamic_cast 主要用于执行“安全的向下转 阅读全文
posted @ 2013-08-23 18:25 pangbangb 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 本人菜鸟一个,刚毕业才上班2个月,现在用到Linux部署项目,这才开始学习Linux,以下是我在安装Linxu系统是遇到的一些问题,希望能给广大菜鸟们在学习的道路上提供帮助和指导,废话不多说!开工!第一步:安装VMware9虚拟机,如果已经安装好的朋友可以跳过,看下一章的介绍。 选择Typical --> Next 选择安装路径 --> Next (中间的步骤一路点击Next即可) 输入一下key:4F207-8HJ1M-WZCP8-000N0-92Q6G 0A6Z5-8H1EJ-WZCL1-PK072-23DJG 0F0Q9-8F38L-RZXT9-4U054-ACW5F J.. 阅读全文
posted @ 2013-08-23 18:23 pangbangb 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 172 173 174 175 176 177 178 179 180 ··· 249 下一页