- 博客(18)
- 收藏
- 关注
转载 Snmp协议分析
Snmp协议分析 关键点 :BER编码1.协议字段2.PDU类型对应编号表PDU类型名称0get-request1get-next-request2get-response3set-request4trap 3.BER编码 BER的数据都由三个域构成: 标识域(tag)+长度域(length)+值域(value)。 注意: xx 表示标识域 xx 标识长度域
2018-01-19 16:17:26 708
转载 Makefile编译选项CC与CXX/CPPFLAGS、CFLAGS与CXXFLAGS/LDFLAGS
编译选项让我们先看看 Makefile 规则中的编译命令通常是怎么写的。大多数软件包遵守如下约定俗成的规范:#1,首先从源代码生成目标文件(预处理,编译,汇编),"-c"选项表示不执行链接步骤。$(CC) $(CPPFLAGS) $(CFLAGS) example.c -c -o example.o#2,然后将目标文件连接为最终的结
2018-01-15 16:01:03 1784
转载 http://blog.csdn.net/iew0000/article/details/594271
http://blog.csdn.net/iew0000/article/details/594271
2017-10-18 17:07:56 258
原创 冒泡 快排
void Bubblesort(int* arr,size_t size){assert(arr);for(int i=0;i{bool exchange=false;for(int j=1;j{if(arr[j-1]>arr[j]){ exchange=true;std::swap(arr[j-1],arr[j]);}
2016-09-08 13:02:42 187
原创 选择排序
void selectsort(int* arr,int size){assert(arr);int maxpos=0;for(int i=0;i{for(int j=1;j{if(arr[maxpos]{maxpos=j;}}if(maxpos!=size-1)std::swap(arr[maxpos],arr[size-1-i
2016-09-08 13:00:13 178
原创 插入排序
void insertsort(int* arr,size_t size){assert(arr);for(int i=1;i{int temp=arr[i];int end=i-1;while(temp=0){ arr[end+1]=arr[end];--end;}arr[end+1]=temp;}}
2016-09-08 12:55:18 266
原创 AVL树
AVL树的性质1. 左子树和右子树的高度之差的绝对值不超过12. 树中的每个左子树和右子树都是AVL树3. 每个节点都有一个平衡因子(balance factor--bf),任一节点的平衡因子是-1,0,1。(每个节点的平衡因子等于右子树的高度减去左子树的高度)#pragma oncetemplatestruct AVLTreeNode{K _key;
2016-09-08 12:45:10 195
原创 UMASK详解
一 权限掩码umaskumask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)二 umask的作用默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6
2016-08-31 22:43:09 492
原创 Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?
1.想进入一个目录需要什么权限?首先我们在超级用户下创建一个dir_root目录,并且取消它的所有权限chmod 000 dir_root当我们想进入dir_root目录下的时候,发现就算dir_root对拥有者没有读、写、可执行权限,超级用户依然可以进入目录当我在超级用户下把目录dir_root的拥有者改为普通用户fanny,且目录对拥有者(普通用户)来说
2016-08-31 22:37:06 668
原创 粘滞位
粘滞位(Stickybit),或粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。Linux中的粘滞位Sticky 位是一个
2016-08-26 18:39:09 666
原创 task_struct
在linux 中每一个进程都由task_struct 数据结构来定义. task_struct就是我们通常所说的PCB.她是对进程控制的唯一手段也是最有效的手段. 当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。因此了解task_struct的结构对于我们理解任务调度(在linux 中任
2016-08-25 21:33:05 239
原创 find命令中的选项解释
find命令选项:1. -name按照文件名查找文件。比如:在code目录及其子目录下查找file文件,并且在当前目录及其子目录中查找扩展名为“c”的文件。2. -perm按照文件权限来查找文件。比如:在当前目录下查找文件权限位为755的文件,即文件拥有者可以读、写、执行,所属组和其他用户可以读、执行的文件3.-prune使用这一选项可以使find命令不
2016-08-24 09:44:41 968
原创 Linux 文件时间
首先可以使用stat 命令来查询文件的inode信息,其中包括ctime atime mtimeMtime:文件内容改变,ctime文件的状态改变,如chmod权限等。调整mtime,ctime会变。调整ctime,mtime不一定变化。文件的Access time,atime是在读取文件或者执行文件时更改的任何对inode的访问都会使此处改变。即文件最后一次被读取的时间。
2016-08-22 10:03:19 196
原创 const、static、extern小结
const1.const修饰的只读变量编译时,编译器提示错误,int b[a]这行:expected constant expression命名为.cpp文件,则没问题。原因是:在c中,常量表达式必须是编译期常量,a不是编译期常量(是运行期常量)。因为const int a在c中不是常量表达式,因此不能用于定义数组。2.节省空间,避免不必要的内存分配#define
2016-06-03 11:48:43 288
原创 指针的高级应用
int* f,g;他并没有声明两个指针,尽管他们之间存在空白,但星号只做用于f,f指针,g只是一个普通的整形变量。int *f( )他表示f是个函数,他的返回值类型是一个指向整型的的指针。( )是函数调用操作符int (*f) ( )第二个括号是函数调用操作符,第一个括号只起到聚组作用,他迫使函数调用之前使f成为一个函数指针,它所指向的函数返回一个整形值。int *(*f)
2016-04-28 10:41:47 262
原创 模拟实现memmove函数
void*memmove(void *dest,const void*src,int count) //必须都是void*类型{char*pdest=(char*)dest;const char*psrc=(const char*)src; //强制类型转化char*ret=dest;if((pdest>psrc)&&(pdes
2016-04-20 12:09:07 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人