02 2020 档案

摘要:How to write MakeFile 1. 程序的編譯. 程序在編譯過程中,編譯器只檢測程序語法,函數和變量是否被聲明。而函數是否被實現的檢測是在鏈接的過程中檢測的。 2. 一個makefile的示例: 從這個makefile的示例中我們可以看出makefile的工作原理。可以將其想象成一個棧 阅读全文
posted @ 2020-02-28 23:46 kaleidopink 阅读(178) 评论(4) 推荐(1) 编辑
摘要:2020年一段令我迷惑的代码 这段代码在gcc中可以编译成功,但是在g++中不行。 阅读全文
posted @ 2020-02-26 20:43 kaleidopink 阅读(356) 评论(0) 推荐(0) 编辑
摘要:近期由于经常需要给别人发送邮件,每次都要打开QQ邮箱觉得非常麻烦。想到Linux终端可以自定义命令,加上python可以实现邮件发送功能,于是自己写了一个终端send + 文件地址的命令。 首先贴上python发送邮件的代码。 我是通过将邮箱信息写在xml文件里面来读取的,这样方便修改。不用每次都修 阅读全文
posted @ 2020-02-22 16:20 kaleidopink 阅读(227) 评论(0) 推荐(0) 编辑
摘要:C語言中的內存對齊操作 在編譯器給變量分配內存時,變量首地址總是變量字節數的倍數。比如在一段64位的地址空間中,總共有8個字節,char類型總是佔用8個字節,可以隨意分配。而int類型佔用4個字節,如果在這段空間中,前面3個字節都被char類型佔據,那麼int類型分配內存並不會緊接著第4個字節分配內 阅读全文
posted @ 2020-02-18 00:39 kaleidopink 阅读(129) 评论(0) 推荐(0) 编辑
摘要:計算機的開機啟動過程 1. 當計算機接上電源後,它會先完成加電自檢,然後BIOS會去尋找存儲介質,在盤上尋找引導扇區,如果扇區的結尾是0xAA55的話,計算機就認為這是一個正確的引導扇區。 2. 一個扇區的大小是512B,如果一個0xAA55超過了扇區結尾的話,其大小將超過512B,則也不是一個正確 阅读全文
posted @ 2020-02-15 08:57 kaleidopink 阅读(218) 评论(0) 推荐(0) 编辑
摘要:C++ static 用法 1. 靜態存儲區:靜態變量存儲的空間分為DATA段和BBS段。DATA段用於存放已經初始化的靜態變量,BBS段存放未初始化的。BBS段在程序開始執行前會被系統自動置為0。於是完成了靜態變量的初始化。 2. c++的static的內部實現機制要求static變量在程序開始執 阅读全文
posted @ 2020-02-13 15:11 kaleidopink 阅读(138) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(Linux系統的內存管理方法) 9. Linux系統的內存管理方法 Linux採用“按需調頁”算法,支持三層管理策略。由於Intel CPU在硬件級提供了段式存儲管理和二層頁式存儲管理,Linux作為軟件,必須與之兼容。所以Linux實際上放棄了段式存儲管理,將第二層的頁式管理 阅读全文
posted @ 2020-02-13 12:57 kaleidopink 阅读(138) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(請求分段存儲管理) 8.請求分段存儲管理 8.1 請求分段的原理與硬件支持 在段式存儲管理實現的虛擬存儲器上,以段為單位進行換入,換出。相比於請求分頁存儲系統,分段存儲因為段的大小不固定,所以置換算法更加難以實現。請求分段管理的實現需要 段表機制、缺段中斷機制和地址變換機構的支 阅读全文
posted @ 2020-02-12 10:33 kaleidopink 阅读(190) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(頁面置換算法) 7. 頁面置換算法 在上一節講過, 換入換出頁面要根據特定的算法來執行, 這種算法就是頁面置換算法. 不合適的算法可能會使系統發生抖動,所謂抖動即指剛剛換出的頁面又要換回來,換回來不久又要換出去,這樣就導致系統的大部分工作時間都花在了頁面調度上,導致效率不高。 阅读全文
posted @ 2020-02-11 12:53 kaleidopink 阅读(121) 评论(0) 推荐(0) 编辑
摘要:操作系統內核 宏內核與微內核(轉載) 聲明:本文從CSDN轉載,原文鏈接為:https://blog.csdn.net/Silencegll/article/details/51496158 操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式, 阅读全文
posted @ 2020-02-10 19:46 kaleidopink 阅读(1248) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(請求分頁內存管理) 6. 請求分頁內存管理方式 6.1 請求分頁的實現 請求分頁是常用的實現虛擬存儲器的方式,其實現需要頁表機制、缺頁中斷機制和地址變換機構的支持。 1. 頁表機制 分頁系統中地址映像是用過頁表實現的。在請求分頁的系統中,頁表項包括:邏輯頁號、物理塊號、狀態位P 阅读全文
posted @ 2020-02-10 13:50 kaleidopink 阅读(238) 评论(0) 推荐(0) 编辑
摘要:上面这段代码的输出结果为: 说明每个对象都是一个独立的内存空间,而类只决定对象的行为。 阅读全文
posted @ 2020-02-09 21:56 kaleidopink 阅读(169) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(虛擬內存) 5.虛擬存儲器 5.1 局部性原理 早在1968年P.Dening就指出:程序在執行過程中呈現出局部性規律。即在很短的時間內,程序的執行儘限於某個部分,其訪問的內存也僅限於某個區域。 局限性體現在時間和空間上,時間上程序中某條指令一旦執行,不就又可能再被執行。空間上 阅读全文
posted @ 2020-02-09 13:16 kaleidopink 阅读(120) 评论(0) 推荐(0) 编辑
摘要:函數指針可以用來選擇性地調用函數,在這裡只是用法示例,看不出優勢。但是在面向對象編程中,這種編程方式可以根據函數指針來調用不同對象的函數,很有好處。 阅读全文
posted @ 2020-02-06 22:03 kaleidopink 阅读(177) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(段式存儲管理) 4 段式存儲管理 4.1 段式存儲的思想 頁式存儲僅僅考慮了程序的長度,可以使一個程序可以不連續地加載內存,但是沒有考慮程序的邏輯結構。 一個程序在加載內存時,其不同部分的訪問權限是不一樣的 。比如程序部分可以多個進程共享,無法修改。而數據部分可以修改,只能由一 阅读全文
posted @ 2020-02-05 11:26 kaleidopink 阅读(333) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(分區存儲和頁式存儲) 2. 分區存儲管理方式 分區管理的基本思想是: 將內存空間氛圍一個或若干個連續的區域,稱為分區。每個分區可以存放一個獨立的用戶程序。分區的特點是一個程序可以連續地加載內存。 分區可以分為:單一分區、固定分區、可變分區和重定位分區。 2.1 單道程序的連續分 阅读全文
posted @ 2020-02-04 15:18 kaleidopink 阅读(288) 评论(0) 推荐(0) 编辑
摘要:字節:1 byte = 8 bit ASCII碼都是佔有一個字節 UTF 8 : 中文(包含繁體)都是佔有三個字節,英文一個字節。 Unicode: 英文中文均佔兩個字節。 B、KB、MB之間都是2^10的換算關係。 阅读全文
posted @ 2020-02-04 15:11 kaleidopink 阅读(307) 评论(0) 推荐(0) 编辑
摘要:![主板結構](https://pic2.zhimg.com/80/v2-d13230f5d23b182b43a5c195e02c7c29_hd.png) 阅读全文
posted @ 2020-02-04 12:26 kaleidopink 阅读(143) 评论(0) 推荐(0) 编辑
摘要:一個字符與0xFF做與運算可以得到這個字符在ASCII表中的數字。如: 阅读全文
posted @ 2020-02-03 21:16 kaleidopink 阅读(186) 评论(0) 推荐(0) 编辑
摘要:操作系統3 內存管理(存儲器管理概述) 1. 存儲器管理概述 1.1 存儲器的層次 寄存器 內存:包括內存、高速緩存、硬盤緩存 外部存儲器 從左至右存儲速度遞減,存儲容量遞增。 高速緩存雖然與內存同為內存,但是其採取了靜態RAM(SRAM),而內存採用了動態RAM(DRAM)。SRAM的存儲速度接近 阅读全文
posted @ 2020-02-02 12:54 kaleidopink 阅读(254) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示