valgrind,mudflap检查内存越界

valgrind,mudflap检查内存越界

Linux编程问题 4年前 (2013-05-31) 浏览: 10 评论: 2

我一直使用valgrind这个小工具来检测一些内存问题,虽然该工具检测不是那么准确,但是也可以作为指导。今天发现了另外一个内存检测软件mudflap,决定使用使用。但是很遗憾,项目中代码比较庞大,结果使用该工具后导致“吐核”,查了手册,原来只支持“(C and very simple C++ programs)”。 要使用mudflap要求GCC版本不低于4.0, 而且默认的linux分发版本都没

关于32位linux下物理内存与虚拟内存的计算

关于32位linux下物理内存与虚拟内存的计算

Linux应用 4年前 (2013-05-31) 浏览: 15 评论: 28

今天在遇到一毕业设计同学问到如下这个问题: cat /proc/pid/stat计算物理内存与虚拟内存时,为什么要如下计算? 其实man以下应该就知道答案,以下是man的结果 可以看出,虚拟内存的值是以字节表示的,而物理内存则时以页数来统计的。 所以对于虚拟内存直接除上1024*1024就可以的出以“M”位单位的答案。 对于物理内存,则需要一些操作系统知识,1个页大小位4K,所以计算方案转换位‘M

QString::arg() 函数

QString::arg() 函数

QT 4年前 (2013-05-31) 浏览: 14 评论: 3

例:setWindowTitle(tr("%1[*] - %2").arg(shownName).arg(tr("Spreadsheet"))); QString::arg()函数用第一个arg()调用会替换“%1”,第2个arg()调用会替换“%2”。上面的例子其实可以写作: setWindowTitle(shownName + tr("[*] - Spreadsheet"));

epoll事件模型实现原理

epoll事件模型实现原理

Linux编程问题 4年前 (2013-05-31) 浏览: 17 评论: 5

1. 功能介绍 epoll与select/poll不同的一点是,它是由一组系统调用组成。 epoll相关系统调用是在Linux 2.5.44开始引入的。该系统调用针对传统的select/poll系统调用的不足,设计上作了很大的改动。select/poll的缺点在于: 1.每次调用时要重复地从用户态读入参数。 2.每次调用时要重复地扫描文件描述符。 3.每次在调用开始时,要把当前进程放入各个文件描述

Linux下epoll的EPOLLHUP事件

Linux下epoll的EPOLLHUP事件

Linux编程问题 4年前 (2013-05-31) 浏览: 78 评论: 6

当客户端使用ctrl+c强制中断或者强制退出时,服务器端希望能够检测到这一变化,我一般是使用检测read是否返回0来判断。但是会出现这样的情况,当使用ctrl+c时,epoll可以收到EPOLLIN事件,并用read返回0;但是当客户端正常退出时,则检测不到该变化。 有人试图使用EPOLLHUP来完成这一检测,实际上EPOLLHUP不能用于服务器来检测客户端出现的异常,但EPOLLRDHUP是可以

常用正则表达式

常用正则表达式

Linux应用 4年前 (2013-05-30) 浏览: 11 评论: 3

^                                 行首 $                                 行尾 ^ [ t h e ]                      以t h e开头行 [ S s ] i g n a [ l L ]              匹配单词s i g n a l、s i g n a L、S i g n a l、S i g

Vim/GVim+cscope搭配实现无缝跳转

Vim/GVim+cscope搭配实现无缝跳转

Linux应用 4年前 (2013-05-29) 浏览: 19 评论: 4

vim各种操作命令已经很熟悉了,但有些插件的魅力还没有接触,下面我先来尝试下cscope。 1.是否安装cscope检测,fedora17已经默认安装。 2.生成索引,在源代码目录下 b选项为仅仅建立交叉引用,-R是递归子目录 3.如何使用 打开一个文件,比如我打开的Robot.cpp,输入以下vim指令 4.上边第3条的每次输入命令很不方便,我们改成快捷键来操作,下载cscope_map.vim

切换注册

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享