Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Glibc内存管理方式

Glibc内存管理方式

程序员接触的内存空间和系统接触的物理内存空间是有所区别的。对于一般进程来讲,他面对的是一个线性虚拟内存空间:地址从0到最大值。每一个进程面对的虚拟内存空间都是一样的,都享有全部的内存地址。虚拟内存空间是线性的,但并不意味着是连续的。部分地址段的虚拟空间可以是缺失的(不是所有地址都可以用来存储数据)。虚拟内存可以按页管理,每一页大小一般为4kb。每一页背后都有一个实际物理内存(可以是主存也可以是辅存)与之对应。在物理内存中我们不叫页,而称之为帧。分页的好处就...
Glibc头文件和宏定义

Glibc头文件和宏定义

头文件没啥好说的,无非就是" "和< >的区别,这估计只要是学过C/C++的人都明白。现在的编译器对头文件的包含顺序没有要求,但老的C实现则不一样。当然,我们现在无需关心头文件顺序了。我们为啥要包含头文件呢?头文件里面有定义嘛,使用任何函数之前都必须定义该函数。所以我们并不强求包含头文件,只要你自己在库函数使用之前定义该函数,有些编译器还会自动的添加标准库定义。但是呐,我们还是推荐将头文件添加上去,头文件里面有时候还会包含类型定义、常量定义、宏...
curl/libcurl连接身份验证劫持漏洞(CVE-2016-5420)

curl/libcurl连接身份验证劫持漏洞(CVE-2016-5420)

curl/libcurl连接身份验证劫持漏洞(CVE-2016-5420)发布日期:2016-08-12更新日期:2016-08-16受影响系统:libcurl libcurl < 7.50.1描述:CVE(CAN) ID: CVE-2016-5420libcURL是命令行传输文件工具。curl、libcurl 7.50.1之前版本选择要重新利用的TLS连接时未检查客户端证书,远程攻击者通过用其他客户端证书创建的连接,可劫持连接的身份验证。<*...
将本地的Java项目提交到GitHub

将本地的Java项目提交到GitHub

1.我们新建一个了java项目后,需要提交到github进行版本控制2.如果此时github中的仓库不为空,我们在本地使用git push提交时会报以下错误,! [rejected] master -> master (non-fast-forward)原因:github仓库中已经存在本地项目中不存在的文件,发生了冲图解决方法:先将github仓库中的文件全部pull下来,此时由于这是2个不相关的仓库,直接使用git pull 会报错:fata...
PGP 短 ID 碰撞攻击持续蔓延,Linus Torvalds 已中招

PGP 短 ID 碰撞攻击持续蔓延,Linus Torvalds 已中招

六月份起,互联网上出现了真正的 PGP 短 ID 碰撞攻击:这些短 ID 碰撞的假 PGP 密钥的姓名、邮箱和真密钥完全一样,而且还完全的复制了真实密钥的信任签名,形成了和真实密钥相对称的,假密钥构成的完整假信任网络。这些密钥可以用来进行中间人攻击。而最近几天,攻击则继续持续扩大,网络上已经出现的假冒的 Linus Torvalds 密钥:假冒: 0F6A 1465 32D8 69AE E438 F74B 6211 AA3B [0041 1886]真实: ...
Linux C动态内存泄漏追踪方法

Linux C动态内存泄漏追踪方法

C里面没有垃圾回收机制,有时候你申请了动态内存却忘记释放,这就尴尬了(你的程序扮演了强盗角色,有借有还才是好孩子)。当你想找出内存泄露的地方时,有的投入海量的代码中,头痛不已。还好GNU C库提供了些简单的方法。mtrace和muntrace两个函数可以帮助我们追踪动态内存使用情况。前提是我们设置了MALLOC_TRACE环境变量,改环境变量需要指向我们系统下的一个可写入的常规文件。做法如下:MALLOC_TRACE=/your/path/to/file....
Glibc 内存申请和释放及堆连续检查

Glibc 内存申请和释放及堆连续检查

C语言有两种内存申请方式:1、静态申请:当你声明全局或静态变量的时候,会用到静态申请内存。静态申请的内存有固定的空间大小。空间只在程序开始的时候申请一次,并且不再释放(除非程序结束)。2、自动申请:当你声明自动变量的时候会使用自动申请。函数参数、局部变量都属于自动变量。这些变量空间在程序执行致相关语句块申请,离开语句块时释放。还有一种内存申请方式:动态内存申请。C语言变量并不支持动态内存申请,这一功能由库函数实现。C里面没有动态这个存储类型!!当你需要存储...
cracklib本地栈缓冲区溢出漏洞(CVE-2016-6318)

cracklib本地栈缓冲区溢出漏洞(CVE-2016-6318)

cracklib本地栈缓冲区溢出漏洞(CVE-2016-6318)发布日期:2016-08-16更新日期:2016-08-17受影响系统:cracklib cracklib描述:BUGTRAQ ID: 92478CVE(CAN) ID: CVE-2016-6318cracklib是用于Unix函数库, 它可以用于编写和口令有关的程序。cracklib在实现上存在本地栈缓冲区溢出漏洞,成功利用后可使攻击者在应用上下文中执行任意代码。<*来源:CSG L...
Java内存模型-基础

Java内存模型-基础

基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信。同步是指程序用于控制不同线程之间...
<< 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 >>