上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 链接( Clinking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接可以执行于编译时( compile time),也就是在源代码被翻译成机器代码时;也可以执行于加载时( load time),也就是在程序被加载器(lad er)加载到内存并执 阅读全文
posted @ 2021-01-29 17:02 学习,积累,成长 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中,我们必须考虑代码使用的方式,以及影响它的关键因素。通常,我们必须在程序的简洁性与它的运行速度之间做出权衡。今天我们就来聊一聊如何优化程序的性能。 @ 1. 减小程序计算量 1 阅读全文
posted @ 2021-01-14 11:25 学习,积累,成长 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 在计算机系统模型中,CPU执行指令,而存储器系统为CPU存放指令和数据。实际上,存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。 如果你的程序需要的数据是存储在CPU寄存器中,那么在指令的执行期间,在0个周期内就能访问到它们。如果存储在高速缓存中,需要4~75个周期。如果存储在主存 阅读全文
posted @ 2021-01-01 16:21 学习,积累,成长 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是缓存 缓存又叫高速缓存,是计算机存储器中的一种,本质上和硬盘是一样的,都是用来存储数据和指令的 。它们最大的区别在于读取速度的不同。程序一般是放在内存中的,当CPU执行程序的时候,执行完一条指令需要从内存中读取下一条指令,读取内存中的指令要花费100000个时钟周期(缓存读取速度为200 阅读全文
posted @ 2021-01-01 16:21 学习,积累,成长 阅读(586) 评论(0) 推荐(1) 编辑
摘要: 这是CSAPP的第四个实验,这个实验比较有意思,也比较难。通过这个实验我们可以更加熟悉GDB的使用和机器代码的栈和参数传递机制。 @ 实验目的 本实验要求在两个有着不同安全漏洞的程序上实现五种攻击。通过完成本实验达到: 深入理解当程序没有对缓冲区溢出做足够防范时,攻击者可能会如何利用这些安全漏洞。 阅读全文
posted @ 2020-12-31 09:35 学习,积累,成长 阅读(992) 评论(0) 推荐(0) 编辑
摘要: 写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得快也是一个重要的考虑因素。本 阅读全文
posted @ 2020-12-31 09:33 学习,积累,成长 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 本次实验是CSAPP的第5个实验,这次实验主要是让我们熟悉如何优化程序,如何写出更具有效率的代码。通过这次实验,我们可以更好的理解计算机的工作原理,在以后编写代码时,具有能结合软硬件思考的能力。 @ 实验简介 本次实验主要处理优化内存密集型代码。图像处理提供了许多可以从优化中受益的功能示例。在本实验 阅读全文
posted @ 2020-12-31 09:33 学习,积累,成长 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 蠕虫病毒是一种常见的利用Unix系统中的缺点来进行攻击的病毒。缓冲区溢出一个常见的后果是:黑客利用函数调用过程中程序的返回地址,将存放这块地址的指针精准指向计算机中存放攻击代码的位置,造成程序异常中止。为了防止发生严重的后果,计算机会采用栈随机化,利用金丝雀值检查破坏栈,限制代码可执行区域等方法来尽 阅读全文
posted @ 2020-12-30 17:25 学习,积累,成长 阅读(478) 评论(0) 推荐(0) 编辑
摘要: uthash简介 由于C语言本身不存在哈希,但是当需要使用哈希表的时候自己构建哈希会异常复杂。因此,我们可以调用开源的第三方头文件,这只是一个头文件:uthash.h。我们需要做的就是将头文件复制到您的项目中,然后:#include "uthash.h"。由于uthash仅是头文件,因此没有可链接的 阅读全文
posted @ 2020-12-30 17:25 学习,积累,成长 阅读(10964) 评论(0) 推荐(2) 编辑
摘要: 目录qsort函数原型compar参数int 数组排序结构体排序字符串指针数组排序字符串二维数组排序整型二维数组(力扣题目) qsort函数原型 void qsort( void *base, size_t nmemb, size_t size, int (*compar)(const void * 阅读全文
posted @ 2020-12-30 17:17 学习,积累,成长 阅读(1768) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页