- 博客(18)
- 资源 (35)
- 收藏
- 关注
转载 Linux 文件系统
文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识。 本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。相信有了这些知识对于深入的学习linux会有一定的帮助。文章例子主要是基于ubuntu发行版。 如有不对之处请大家多多指出。1.Linux磁盘分区和目
2013-09-30 10:43:20 845
转载 linux下gdb使用技术
格式: x /nfu 说明x 是 examine 的缩写n表示要显示的内存单元的个数f表示显示方式, 可取如下值x 按十六进制格式显示变量。d 按十进制格式显示变量。u 按十进制格式显示无符号整型。o 按八进制格式显示变量。t 按二进制格式显示变量。a 按十六进制格式显示变量。i 指令地址格式c 按字符格式显示变量。f 按浮点数格式显
2013-09-27 09:37:23 801
转载 UDP丢包原因
一、主要丢包原因1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个udp包,不切割直接通过sen
2013-09-23 10:52:53 984
转载 linux调试工具Valgrind之使用技术
•内存使用检测,包括: –内存泄漏 –非法内存访问 –未初始化变量使用 –重复释放内存 •多线程竞争 –检测死锁 -检测竞争Valgrind还能做什么? •性能分析 –Cachegrind+ cg_annotate 它模拟 CPU中的一级缓存I1,D1和L2二级缓存,能够精确地指出程序中 cache
2013-09-18 11:49:41 1077
转载 linux下更改共享内存的最大值
System V IPC 参数名字描述合理取值SHMMAX最大共享内存段尺寸(字节)最少若干兆(见文本)SHMMIN最小共享内存段尺寸(字节)1SHMALL可用共享内存的总数量(字节或者页面)如果是字节,就和 SHMMAX 一样;如果是页面,ceil(SHMMAX/PAGE_SIZE)S
2013-09-13 15:25:16 2657
转载 epoll技术
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且
2013-09-11 10:29:55 707
转载 linux下libpcap抓包分析
一、首先下载libpcap包http://www.tcpdump.org/#latest-release 然后安装,安装完成后进入安装根目录的tests文件夹,编译运行findalldevstest.c(编译时加上-libpcap),查看是否发现所有网络设备。二、下载wireshark观察抓包软件的各种功能三、熟悉libpcap工作原理:四、了解libpcap抓包基本流程:
2013-09-11 09:37:49 3836
转载 #ifndef条件编译
#ifndef#ifndef x //if not define的简写#define x ...#endif这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和条件编译)中的一种----条件编译。 C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。C语言编译系
2013-09-11 09:06:54 1170
转载 linux c++示例
Point类的完整程序 知识点:学习复制构造函数,比较它与普通构造函数的区别。普通构造函数是在对象创建时被调用,而复制构造函数是在以下3种情况下都会被调用,分别为: ① 当用类的一个对象去初始化该类的另一个对象时 ② 如果函数的形参是类的对象,调用函数时,进行形参和实参结合时 ③ 如果函数的返回值是类的对象,函数执行完成返回调用者时。 源程序:
2013-09-09 14:00:05 1140
原创 linux内核分页地址保护
linux内核是通过什么机制来判断用户访问的内存是非法的,从而实现地址保护?姑且认为32位机器在上,进程能看到的虚拟地址空间是4G。这4G是一个潜力值,并非所有虚拟内存下都有物理内存做backup。只有某些虚拟内存段是有效的,操作系统记录着这些地址段,通过一个链表。每一元素有一个区间,表示该区间内地址有效(通过vm_area_struct 结构体)。感兴趣的话可以看看内核中的do_page
2013-09-09 10:46:39 1839
原创 Linux c中经常用到的一些处理:
一,linux错误处理 一般错误都保存在errno当中,这是一个整数。可以用perror();打印到标准输出。也可以用strerror打印到标准错误。二,exit()和return Exit是结束进程,状态返回给os,return只是把当前的栈返回。The value ofstatus may be 0, EXIT_SUCCESS, EXIT_FAILURE, [CX]
2013-09-09 10:12:40 912
原创 段错误bug的调试
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。下面将就以下的一个存在段错误的程序介绍几种调试方法:
2013-09-06 15:37:52 1068
原创 Linux core 文件介绍
2013-09-06 14:27 6人阅读 评论(0)收藏 编辑删除 1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生
2013-09-06 15:01:17 1156
原创 Linux core 文件介绍
1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“al
2013-09-06 14:27:54 1167
原创 修改linux共享内存大小
这是实际linux系统显示的实际数据:beijibing@bjb-desktop:/proc/sys/kernel$ cat shmmax 33554432beijibing@bjb-desktop:/proc/sys/kernel$ cat shmmni4096beijibing@bjb-desktop:/proc/sys/kernel$ cat msgm
2013-09-06 09:38:44 21124 1
原创 字符串哈希函数
unsigned int RSHash(char* str, unsigned int len) { unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; unsigned int i = 0; for(i = 0
2013-09-05 12:28:07 1147
原创 Hash表题目整数hash-HDOJ1425(转载)
哈希表(散列表)的基本原理:使用一个下标范围比较大的数组来存储元素,一般通过设计一个函数(哈希函数,即散列函数),使得每个元素的关键字都与一个函数值(即数组下标)相对应,然后用该数组单元来存储对应元素。下面介绍用两道题目介绍一下hash表的用法:题目描述:给你n个整数,请按从大到小的顺序输出其中前m大的数。Input每组测试数据有两行,第一行有两个数n,m (0Output
2013-09-05 09:19:38 2330
原创 哈希表应用实例
struct数据结构算法1:问题描述 针对某个集体(比如你所在的班级)中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。2:基本要求 假设人名为中国人姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列发处理冲突。3:数据结构设计[cpp
2013-09-04 20:49:21 1730
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关注的人