linux
realxie
网易游戏研发工程师
展开
-
linux获取文件大小[c]
struct stat buf;if(stat(strFileName.c_str(), &buf)>=0){ char buff[100]; unsigned long size = st.buf.st_size;}另一种方法,可以将文件打开,使用fseek( fp, SEEK_SET, SEEK_END )来计算文件大小,当然这种方法比较慢了。原创 2011-11-23 13:26:18 · 1490 阅读 · 0 评论 -
linux下安装protobuf教程+示例(详细)
1 在网站 http://code.google.com/p/protobuf/downloads/list上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。安装步骤如下所示: tar -xzf protobuf-2.1.0.tar.gz cd protobuf-2.1.0 ./configure --prefix=/usr/local/protobuf原创 2012-04-12 23:33:25 · 23554 阅读 · 2 评论 -
linux 下获取本机IP
#include #include #include #include #include #include #include #define ERRORIP "cannot find host ip"char *ip_search(void){ int sfd, intr; struct ifreq buf[16]; struct ifconf ifc;转载 2012-03-20 09:56:52 · 4173 阅读 · 0 评论 -
C/C++/CPP中与虚拟存储器(指针)有关错误汇总(一)
一, 指针引用错误。现代操作系统中普通使用虚拟存储器系统,使得每个进程可以使用的地址空间达到2^N,N为机器的位数,但是实际中并不需要如此大的内存,所以如果间接将引用的指针指向一块没有使用的内存空间中,操作系统会会报出segment error错误。int val;scanf("%d" , val);很明显上面scanf的使用是错误的,正确的做法应该是将val的地址传给scanf,但此却原创 2012-02-23 10:54:01 · 3379 阅读 · 0 评论 -
linux下c++多线程下统计程序运行时间(非常注意)
一般在C++程序中我们会使用clock()函数来统计程序的运行时间,格式如下:clock_t begin , end;begin = clock();//这里是要统计时间的代码end = clock();unsigned uRunTime = (end - begin) * 1.0 / CLOCKS_PER_SEC * 1000;这样就得原创 2012-02-05 21:00:53 · 10596 阅读 · 2 评论 -
使用 /proc 文件系统来访问 Linux 内核的内容
这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口M. Tim Jones (mtj@mtjones.com), 资深首席软件工程师, Emulex简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段转载 2012-01-17 11:02:19 · 641 阅读 · 0 评论 -
[百度分享]频繁分配释放内存导致的性能问题的分析
现象1 压力测试过程中,发现被测对象性能不够理想,具体表现为: 进程的系统态CPU消耗20,用户态CPU消耗10,系统idle大约70 2 用ps -o majflt,minflt -C program命令查看,发现majflt每秒增量为0,而minflt每秒增量大于10000。初步分析majflt代表major fault,中文名叫大错误,minflt代表minor转载 2012-01-07 17:12:44 · 822 阅读 · 1 评论 -
NotePad++ 快捷键
Ctrl-C Copy Ctrl-X Cut Ctrl-V Paste Ctrl-Z Undo Ctrl-Y Redo Ctrl-A Select All Ctrl-F Launch Find Dialog Ctrl-H Launch Find / Replace Dialog Ctrl-D Duplicate Current Line Ctrl-L Delet原创 2011-12-13 14:29:25 · 764 阅读 · 0 评论 -
linux 查看可执行文件动态链接库相关信息
ldd 查看可执行文件链接了哪些 系统动态链接库nm 查看可执行文件里面有哪些符号strip 去除符号表可以给可执行文件瘦身如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令strings Linux操作系统上面的动态共享库大致分为三类:1、操作系统级别的共享库和基础的系统工具库转载 2011-12-09 13:39:11 · 3236 阅读 · 1 评论 -
svn 设置只有对文件加锁才能编辑
设定“svn:needs-lock”属性使用命令行锁定“test.cpp”:svn propset svn:needs-lock 'x' test.cpp运 行这个命令后,“test.cpp”就已经是设置了“svn:needs-lock ”,svn ci test.cpp 使之生效需要注意的是我们设置的属性值是“x”,实际上任意值都可以, Subversion原创 2011-12-06 10:42:24 · 6604 阅读 · 0 评论 -
使用异步 I/O 大大提高应用程序的性能
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,转载 2011-12-04 15:20:14 · 589 阅读 · 0 评论 -
linux [opensuse] 下自定义命令
[opensuse] 定义命令 real,使其进入 /home/real/project/这个目录,则可以如下添加命令:cd /etc/vim bash.bashrc找到如下一段,可能 类似 fialias dir='ls -l'alias ll='ls -l'alias la='ls -la'alias l='ls -alF'alias ls-原创 2011-12-01 14:36:11 · 947 阅读 · 0 评论 -
初窥内存管理(三)伙伴算法
假设系统的可利用内存空间容量为2m个字(地址从0到2m-1),则在开始运行时,整个内存区是一个大小为2m的空闲块,在运行了一段时间之后,被分隔成若干占用块和空闲块。为了在分配时查找方便起见,我们将所有大小相同的空闲块建于一张子表中。每个子表是一个双重链表,这样的链表可能有m+1个,将这m+1个表头指针用向量结构组织成一个表,这就是伙伴系统中的可利用空间表,如图所示:转载 2012-04-13 10:40:33 · 3753 阅读 · 0 评论