linux
jinyu123
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Makefile 编译动态链接库和静态链接库
有一点切记,使用tab而不是空格,有可能在vi下面编辑的时候,vi将tab给办的成空格了,才会出现:*** missing separator. Stop.在vi中设置不将tab转换成空格 "set expandtab //将tab转换成空格set noexpandtab //保留tab形式CXX = g++ CC = gcc LD = ldCFL原创 2011-12-16 16:59:14 · 460 阅读 · 0 评论 -
关于char字符移位问题
关于char字符移位问题结果是255, 0XFF!unbelievable!,为什么呢,我作一点猜想,可能是由于编译器自身的考虑,char字符在移位的时间先将char 转换成整数,自然0x80转换成整数肯定是一个负数,所以在32位整数中前面24位肯定都是1,所以右移的时候就出现了补1的问题参考: QQ架构的讨论(整理)参考: linux查看文件夹大小参考: G转载 2012-02-19 10:31:38 · 413 阅读 · 0 评论 -
效率极低人群之七大习惯
效率极低人群之七大习惯就像寻找对你有益的习惯一样,寻找妨碍你的习惯同样重要。这7种习惯中大多数都可能会轻易成为你日常生活的一部分,使你难以察觉它的存在(或者它如何影响到你)。我曾经略微尝试了这些习惯,结果毫无疑问,那些重要的事情没有几个可以完成。同时我也要添加说明的是,这只是在生活中你可能形成的影响效率的主要的7个习惯,我很确定绝不仅仅是这些参考: C++内存池的实现实例转载 2012-02-19 10:30:57 · 573 阅读 · 0 评论 -
布隆过滤器在网页去重中的应用
布隆过滤器在网页去重中的应用假设你想从网上(新浪新闻)去下载一批网页,做信息检索(搜索引擎)的第一步.你已经从网上下载下来了一批网页,并且有这批网页的URL,不过你还有一批需要下载的网页的URL, 问题是这样的,如果有些URL已经被下载过了,你就不必要再次下载了,现在让你快速的识别出哪些URL上的是还没被下载的,可以有一定的误差,但是不能超过1%参考: 寻找无序数组中的第K大数转载 2012-02-19 10:30:27 · 775 阅读 · 0 评论 -
C语言字符串函数大全
C语言字符串函数大全函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例:参考: 一个简单问题的并行算法参考: QQ架构的讨论(整理)参考: linux查看文件夹大小参考: 矩阵乘法的并行算法参考: 布隆过滤器在网页去重中的应用转载 2012-02-19 10:29:54 · 273 阅读 · 0 评论 -
linux查看文件夹大小
linux查看文件夹大小只查看该文件夹的大小du -h --max-depth=0 ;查看文件夹下每个文件的大小 du -h --max-depth=1 参考: Google Protocol Buffer 的使用和原理参考: 关于char字符移位问题参考: 腾讯游戏的矩阵效应参考: 腾讯游戏的矩阵效应参考: C语言字符串函数大全参考:转载 2012-02-19 10:29:26 · 235 阅读 · 0 评论 -
linux下c++多线程下统计程序运行时间(非常注意)
linux下c++多线程下统计程序运行时间(非常注意)查看一下clock()函数的功能: 这个函数返回从“开启这个程序进程”到“程序中调用C++ clock()函数”时之间的CPU时钟计时单元(clock tick)数当程序单线程或者单核心机器运行时,这种时间的统计方法是正确的。但是如果要执行的代码多个线程并发执行时就会出问题,因为最终end-begin将会是多个核心总共执行的时钟嘀嗒数,转载 2012-02-19 10:29:00 · 1384 阅读 · 0 评论 -
C++内存池的实现实例
C++内存池的实现实例本节分析在某个大型应用程序实际应用到的一个内存池实现,并详细讲解其使用方法与工作原理。这是一个应用于单线程环境且分配单元大小固定的内存池,一般用来为执行时会动态频繁地创建且可能会被多次创建的类对象或者结构体分配内存参考: 一个简单问题的并行算法参考: 判断是否为欧拉图的并行算法参考: 效率极低人群之七大习惯参考: 指针数组/数组转载 2012-02-19 10:28:30 · 381 阅读 · 0 评论 -
cpp程序性能优化
cpp程序性能优化重中之重 - 算法优化: 程序性能优化最显著的优化方法是算法上的优化,算法的优化对性能的提升往往是一个数量级的,例如排序,冒泡的时间复杂度为O(N^2),而快速排序的时间复杂度为O(Nlog(N)),这种性能的提供是非常明显的。 2. 消除冗余的循环: 我们先看一下for循环生成的汇编代码for (int N = 4.参考: 效率极低人群之七大习惯参考:转载 2012-02-19 10:27:54 · 407 阅读 · 0 评论 -
QQ通信协议
QQ通信协议不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。 二、聊天消息通信。 采用U转载 2012-02-19 10:27:19 · 333 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
Google Protocol Buffer 的使用和原理刘 明, 软件工程师, 上海交大电子与通信系 简介: Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 AP转载 2012-02-19 10:26:49 · 552 阅读 · 0 评论 -
QQ架构的讨论(整理)
QQ架构的讨论(整理)转贴:QQ的架构问题 -----------sodme 大宝 hi, all: 我把第一个问题选为:QQ的架构。呵呵,题目是不是有点大?QQ现在的最高在线用户数是1900万,我们来讨论一下要作一个这样的架构如何来作更好,大家积极发言,这也是我这个周末为自己选择的思考题,呵呵。大家积极畅所欲言。 我们讨论的问题可以包括但不限于这些内容: 1.登录时的负载如何解决的 2.转载 2012-02-19 10:26:18 · 718 阅读 · 0 评论 -
C++ 中 vector 如何实现内存分配
C++ 中 vector 如何实现内存分配为了支持随机访问,vector中的元素采用顺序存放,即每一个元素紧挨着前一个元素进行存储。那么现在只有可能出现问题了,当内存中没有足够连续的空间去存放新插入来的元素怎么办,C++是这样处理的:重新分配内存空间,将原来旧的元素全部复制到新的存储空间中去,然后再插入新的元素。因此可以看出,如果内存不是特别充足或者内存中没有较大块的空闲空间的,向vect转载 2012-02-19 10:34:35 · 483 阅读 · 0 评论
分享