随笔分类 -  计算机基础

主要分享计算机基础相关内容
摘要:简介 最近在看代码时,发现了两个之前没见过的数据类型:intptr_t,uintptr_t。这两个数据类型是ISO C99定义的,具体代码在linux平台的/usr/include/stdint.h头文件中。 /* Types for `void *' pointers. */ #if __WORD 阅读全文
posted @ 2022-07-03 22:53 学习,积累,成长 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量。但是对于栈的实现细节可能不一定清楚。本文将介绍一下在Linux平台下函数栈是如何实现的。 栈帧的结构 函数在调用的时候都是在栈空间上开辟一段空间以供函数使用,所以,我们先来了解一下通用栈帧的结构。 如图所示,栈是由高地址向地地 阅读全文
posted @ 2021-12-30 07:59 学习,积累,成长 阅读(644) 评论(1) 推荐(3) 编辑
摘要:虚拟内存是现代操作系统中最伟大的发明之一。它为每个进程提供了一个一致的、私有的地址空间,让每个进程产生了一种自己在独享主存的错觉。 为了讲清楚MMU是如何一步一步完成地址翻译,取出数据的,本篇文章在前4节中讲解了虚拟内存中一些重要的概念,比如,虚拟内存的作用,页命中,缺页异常处理,为什么需要TLB等 阅读全文
posted @ 2021-08-03 22:22 学习,积累,成长 阅读(740) 评论(0) 推荐(0) 编辑
摘要:ELF文件(Executable Linkable Format)是一种文件存储格式。Linux下的目标文件和可执行文件都按照该格式进行存储,有必要做个总结。 1. 链接举例 在介绍ELF文件之前,我们先看下,一个.c程序是如何变成可执行目标文件的。下面举个例子。 该程序由main.c和sum.c两 阅读全文
posted @ 2021-01-30 23:03 学习,积累,成长 阅读(948) 评论(0) 推荐(0) 编辑
摘要:我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中,我们必须考虑代码使用的方式,以及影响它的关键因素。通常,我们必须在程序的简洁性与它的运行速度之间做出权衡。今天我们就来聊一聊如何优化程序的性能。 @ 1. 减小程序计算量 1 阅读全文
posted @ 2021-01-14 11:25 学习,积累,成长 阅读(428) 评论(0) 推荐(0) 编辑
摘要:1. 什么是缓存 缓存又叫高速缓存,是计算机存储器中的一种,本质上和硬盘是一样的,都是用来存储数据和指令的 。它们最大的区别在于读取速度的不同。程序一般是放在内存中的,当CPU执行程序的时候,执行完一条指令需要从内存中读取下一条指令,读取内存中的指令要花费100000个时钟周期(缓存读取速度为200 阅读全文
posted @ 2021-01-01 16:21 学习,积累,成长 阅读(719) 评论(0) 推荐(1) 编辑

  1. 1 少年 梦然
  2. 2 尘埃 林小柯
  3. 3 飞鸟和禅 任然
  4. 4 Dancing With Your Ghost Sasha Sloan
  5. 5 烟火人间 添儿呗
  6. 6 摘仙 伊格赛听、叶里
少年 - 梦然
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示