/*内存练习*/ #include #include//引入内存分配库文件 int main(){ double* x; //定义整型指针和double指针 int* y; x=(double*)malloc(sizeof(x));//为double分配空间 printf("%d\n",sizeof ...
分类:
其他好文 时间:
2018-08-22 14:59:28
阅读次数:
159
C标准库提供了malloc,free,calloc,realloc,C++标准库还提供了new, new[], delete, delete[]。这些用来管理内存,看起来够用了,为啥还要自己写一个内存管理器呢? 原因还是从性能考虑:例如malloc和new是出于通用性考虑的,能处理多线程情况(mul ...
分类:
编程语言 时间:
2018-08-22 01:12:06
阅读次数:
157
1、安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 1 2 3 4 5 6 7 8 9 10 11 [root@iZwz991stxdwj560bfmadtZ local]# wget ...
分类:
其他好文 时间:
2018-08-18 18:33:43
阅读次数:
141
一、堆内存 1、就是程序员手动管理的一块内存,在C语言中,可以理解为用malloc、realloc等申请空间的一些函数,这些函数所申请的空间就是堆空间 2、C语言中,堆空间是申请和释放 malloc/free 这两个函数来实现 3、堆内存和物理空间的大小有关,如果物理空间够大的话,理论上,程序员可以 ...
分类:
其他好文 时间:
2018-08-17 23:30:51
阅读次数:
178
Linux下c内存映像 大方向分为 应用空间 + 内核空间,他俩内存空间布局差不多。这里重点回顾应用空间布局,应用空间氛围代码段 + 数据段(静态数据段+动态数据段) 代码段 为啥是只读的 代码段在编译时就定好了,在程序的运行过程中,不能在代码段去开辟空间,以及释放空间。 包含哪几部分 ELF头、段 ...
分类:
其他好文 时间:
2018-08-16 01:03:28
阅读次数:
152
栈(stack): 栈是一种线性结构,是运算受限的线性表。其主要特性是后入先出(Last In First Out,LIFO),并且 只能够在栈的顶端进行操作(插入和删除),这个端称之为栈顶。 C语言的实现: #include <stdio.h>#include <stdlib.h>#include ...
分类:
其他好文 时间:
2018-08-15 19:35:31
阅读次数:
115
4.5.1 堆管理的相关库函数 在ISO C中规定了三个动态分配内存的函数,分别是: void *malloc(size_t size); void *calloc(size_t nmemb, size_t size); void *realloc(void *ptr, size_t size); ...
分类:
其他好文 时间:
2018-08-15 13:32:33
阅读次数:
263
配置环境:sudo yum install gcc-c++ 下载:wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压:tar -zxvf redis-3.2.8.tar.gz 进入目录:cd redis-3.2.8/ 编译:mak ...
分类:
其他好文 时间:
2018-08-09 14:55:52
阅读次数:
114
系统信息 系统:ubuntu 14.04 64位 内核版本:4.13 (KASLR关闭 但是参考文档一中的哥们已经提到如何绕过:利用对非法地址写的保护) 漏洞背景 CVE 2017 5123是一位葡萄牙人Federico Bento 所发现,由于在系统调用waitid实现中,未对用户输入的指针进行检 ...
分类:
其他好文 时间:
2018-08-09 14:10:26
阅读次数:
336
1 #include 2 #include 3 4 typedef struct SqStack { 5 int *base; 6 int *top; 7 int stacksize; 8 }SqStack; 9 10 //创建顺序栈 11 SqStack InitStack() { 12 SqSt... ...
分类:
其他好文 时间:
2018-08-06 16:25:01
阅读次数:
139