随笔分类 - Assemble
摘要:一直以来,我都不是太理解这种方式,在C++函数调用原理理解中,我仅仅是简单的认为,那么做,可能是因为CC平时用的少,而且好看:)所以初始化这样一个不怎么常用的变量,可以让人很快发现。。。。事实上,的确有这样的效果,当Debug时,我看一个变量为CC时的确第一时间就能反应过来,我又犯了一个不可饶恕的低
阅读全文
摘要:第一次这么用,上来字符编码就炸了,不出意外 log 中会出现如下内容 code 1 warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 然后就是诡异的编译失败语法错误,比如换行符、分号等等 原因是 CLion 默认使用
阅读全文
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Threading.Channels; namespace CombinationAll { public class Program {
阅读全文
摘要:现在这年代,技术日新月异,物联网、人工智能、深度学习等概念遍地开花,各类芯片名词GPU, TPU, NPU,DPU层出不穷......它们都是什么鬼?与CPU又是什么关系?搞不懂这些知识,买手机的时候都没法在妹子面前装B了呢。 这是“物小白系列”的第1篇文章 “亲爱的,听说HW最新发布了Mate 1
阅读全文
摘要:官网:https://www.qt.io/ 一定要注册登录: https://account.qt.io/ 找到Download,5.15开始没有乞丐离线安装包了: 按需下载 Qt Creator(Qt Online Installer 包含Creator),Qt Visual Studio Add
阅读全文
摘要:VS2019下安装boost C++库 Boost C++库的下载安装 官方网站:https://www.boost.org/ 选择合适的版本下载,这里下载了boost_1_73_0.7z 解压即为你的安装目录 解压完后,你会看到你的目录下有bootstrap.bat批处理文件,双击执行 运行完成后
阅读全文
摘要:图解虚拟地址到物理地址的翻译以及数据的获取(TLB,页表,cache) 前言 最近复习计算机组成原理,又重新把CPU发出虚拟地址一直到获得数据的过程捋了捋,算是又加深了理解。从虚拟地址经过TLB/页表得到物理地址,到物理地址经过cache/主存得到数据,真的是计算机体系结构的艺术了。 结合《计算机组
阅读全文
摘要:马特·彼得雷克 1994年3月 Matt Pietrek是 Windows Internals 的作者(Addison-Wesley,1993年)。他在Nu-Mega Technologies Inc.工作,可以通过CompuServe与他联系:71774,362 本文摘自1994年3月发行的 Mi
阅读全文
摘要:前几天看到大家在讨论EXE装载的问题,很新奇。有的说PE装载受到进程空间的限制,有的说PE一定是整体装入,有的用ZIP自解压包来举例子。 我当时大概想了一下,觉得PE不一定是要整体装入的。PE文件包含一个PE header,里面定义了各个段,比如代码,资源等等的偏移地址,装载的时候应该不会超出这个P
阅读全文
摘要:神图 能够实时观察设计的cpu是如何执行指令的。网页地址:http://www.buthowdoitknow.com/but_how_do_it_know_cpu_model.html Philosophy But How do it Know(计算机是怎么知道的) 近乎成了一个哲学问题,这本书讲述
阅读全文
摘要:一、什么是重定位? 重定位就是你本来这个程序理论上要占据这个地址,但是由于某种原因,这个地址现在不能让你霸占,你必须转移到别的地址,这就需要基址重定位。 二、为什么需要重定位? 这个和上面的问题的解释是一样的。不是说过每个进程都有自己独立的虚拟地址空间吗?既然都是自己的,怎么会被占据呢?对于EXE应
阅读全文
摘要:1.资源:进程对设备、文件等获得独占性的访问权时有可能会发生死锁,为了尽可能地通用化,我们将这种需排它使用的对象称为资源。资源可以是硬件设备(如磁带机),或一组信息(如数据库中一个加锁的记录)。计算机中通常有多种资源。有些类型的资源有多个相同的实例,如三台磁带机。当某一资源有若干拷贝时,其中任一个均
阅读全文
摘要:详解FAT32文件系统 硬盘是用来存储数据的,为了使用和管理方便,这些数据以文件的形式存储在硬盘上。任何操作系统都有自己的文件管理系统,不同的文件系统又有各自不同的逻辑组织方式。例如:常见的文件系统有FAT,NTFS,EXT,UFS,HFS+等等。下面就来学习一下基于Windows的FAT32文件系
阅读全文
摘要:早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。 那当程序同时运行多个程序时,操作系统是如何为这些
阅读全文
摘要:平时接触C及Java较多,这种层次的语言对数据的表示有一定局限。基本的数据类型无外呼整数和浮点数。整数好说,一般仅需考虑越界问题。但对于浮点数,除了范围外,通常很容易忽略精度问题。 浮点数为什么会有精度问题?计算机中的浮点数对应于数学当中的小数。简单计算下,32位浮点数最多可以表示2^32个数,但从
阅读全文
摘要:量子密钥分发 (QKD, Quantum key Distribution ) QKD是量子信息的一个重要分支,也称为“量子保密通信”。 一个量子通信的课程推荐给大家,论述的全面、详细:https://ke.qq.com/course/382160 一个系统、全面讲解传统加密通信SSL/TLS的课程
阅读全文
摘要:本文来自公众号读者cxuan的投稿 我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了。在当今计算机行业中,会应用是基本素质,如果你懂其原理才能让你在行业中走的更远,而计算机基础知识又是重中之重。下面,跟随我的脚步,为你介绍一下
阅读全文
摘要:C++ 不要把面向对象和基于过程对立起来,面向对象和基于过程不是矛盾的,而是各有用途、互为补充的。 学习C++,既要学会利用C++进行基于过程的结构化程序设计,也要会利用C++进行面向对象的程序设计。 目录 C 目录 C语言与C之间的区别 一C基于过程的程序设计 1简单程序实例 2C程序的实现过程
阅读全文
摘要:您可能想知道为什么VirtualAlloc在64K边界分配内存,即使页面粒度为4K。 你有Alpha AXP处理器,感谢你。 在Alpha AXP上,没有“加载32位整数”指令。要加载32位整数,实际上要加载两个16位整数并将它们组合起来。 因此,如果分配粒度小于64K,则重新定位在内存中的DLL
阅读全文
摘要:当LoadLibrary函数返回特殊值时,客户想知道它意味着什么0x10000000。嗯,这意味着LIB被加载进了0x10000000?好的,这里有一些更多的信息:“我们正在尝试调试一个加载DLL的应用程序,并试图在他们调用时挂钩他们的注册表访问DllRegisterServer。看起来当从特
阅读全文

浙公网安备 33010602011771号