主頁 > 後端開發 > 硬核科普:程式員必知的 89 個作業系統核心概念

硬核科普:程式員必知的 89 個作業系統核心概念

2020-09-16 10:53:36 後端開發

1. 作業系統(Operating System,OS):是管理計算機硬體與軟體資源的系統軟體,同時也是計算機系統的內核與基石,作業系統需要處理管理與配置記憶體、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網路與管理檔案系統等基本事務,作業系統也提供一個讓用戶與系統互動的操作界面,

硬核科普:程式員必知的 89 個作業系統核心概念

2. shell:它是一個程式,可從鍵盤獲取命令并將其提供給作業系統以執行,在過去,它是類似 Unix 的系統上唯一可用的用戶界面,如今,除了命令列界面(CLI)外,我們還具有圖形用戶界面(GUI),

硬核科普:程式員必知的 89 個作業系統核心概念

3. GUI (Graphical User Interface):是一種用戶界面,允許用戶通過圖形圖示和音頻指示符與電子設備進行互動,

硬核科普:程式員必知的 89 個作業系統核心概念

4. 內核模式(kernel mode): 通常也被稱為 超級模式(supervisor mode),在內核模式下,正在執行的代碼具有對底層硬體的完整且不受限制的訪問,它可以執行任何 CPU 指令并參考任何記憶體地址,內核模式通常保留給作業系統的最低級別,最受信任的功能,內核模式下的崩潰是災難性的;他們將停止整個計算機,超級用戶模式是計算機開機時選擇的自動模式,

5. 用戶模式(user node):當作業系統運行用戶應用程式(例如處理文本編輯器)時,系統處于用戶模式,當應用程式請求作業系統的幫助或發生中斷或系統呼叫時,就會發生從用戶模式到內核模式的轉換,在用戶模式下,模式位設定為1,從用戶模式切換到內核模式時,它從1更改為0,

6. 計算機架構(computer architecture) :在計算機工程中,計算機體系結構是描述計算機系統功能,組織和實作的一組規則和方法,它主要包括指令集、記憶體管理、I/O 和總線結構

硬核科普:程式員必知的 89 個作業系統核心概念

7. SATA(Serial ATA):串行 ATA (Serial Advanced Technology Attachment),它是一種電腦總線,負責主板和大容量存盤設備(如硬碟及光碟驅動器)之間的資料傳輸,主要用于個人電腦,

8. 復用(multiplexing):也稱為共享,在作業系統中主要指示了時間和空間的管理,對資源進行復用時,不同的程式或用戶輪流使用它,他們中的第一個開始使用資源,然后再使用另一個,依此類推,

9. 大型機(mainframes):大型機是一類計算機,通常以其大尺寸,存盤量,處理能力和高度的可靠性而著稱,它們主要由大型組織用于需要大量資料處理的關鍵任務應用程式,

硬核科普:程式員必知的 89 個作業系統核心概念

10. 批處理(batch system): 批處理作業系統的用戶不直接與計算機進行互動,每個用戶都在打孔卡等脫機設備上準備作業,并將其提交給計算機操作員,為了加快處理速度,將具有類似需求的作業一起批處理并成組運行,程式員將程式留給操作員,然后操作員將具有類似要求的程式分批處理,

11. OS/360:OS/360,正式稱為IBM System / 360作業系統,是由 IBM 為 1964 年發布的其當時新的System/360 大型機開發的已停產的批處理作業系統,

12. 多處理系統(Computer multitasking):是指計算機同時運行多個程式的能力,多任務的一般方法是運行第一個程式的一段代碼,保存作業環境;再運行第二個程式的一段代碼,保存環境;……恢復第一個程式的作業環境,執行第一個程式的下一段代碼,

13. 分時系統(Time-sharing):在計算中,分時是通過多程式和多任務同時在許多用戶之間共享計算資源的一種系統

14. 相容分時系統(Compatible Time-Sharing System):最早的分時作業系統,由美國麻省理工學院計算機中心設計與實作,

15. 云計算(cloud computing):云計算是計算機系統資源(尤其是資料存盤和計算能力)的按需可用性,而無需用戶直接進行主動管理,這個術語通常用于描述 Internet 上可供許多用戶使用的資料中心,如今占主導地位的大型云通常具有從中央服務器分布在多個位置的功能,如果與用戶的連接相對較近,則可以將其指定為邊緣服務器,

硬核科普:程式員必知的 89 個作業系統核心概念

16. UNIX 作業系統:UNIX 作業系統,是一個強大的多用戶、多任務作業系統,支持多種處理器架構,按照作業系統的分類,屬于分時作業系統,

17. UNIX System V:是 UNIX 作業系統的一個分支,

18. BSD(Berkeley Software Distribution):UNIX 的衍生系統,

19. POSIX:可移植作業系統介面,是 IEEE 為要在各種 UNIX 作業系統上運行軟體,而定義API的一系列互相關聯的標準的總稱,

20. MINIX:Minix,是一個迷你版本的類 UNIX 作業系統,

21. Linux:終于到了大名鼎鼎的 Linux 作業系統了,太強大了,不予以解釋了,大家都懂,

硬核科普:程式員必知的 89 個作業系統核心概念

22. DOS (Disk Operating System):磁盤作業系統(縮寫為DOS)是可以使用磁盤存盤設備(例如軟盤,硬碟驅動器或光碟)的計算機作業系統,

23. MS-DOS(MicroSoft Disk Operating System) :一個由美國微軟公司發展的作業系統,運行在Intel x86個人電腦上,它是DOS作業系統家族中最著名的一個,在Windows 95以前,DOS是IBM PC及兼容機中的最基本配備,而MS-DOS則是個人電腦中最普遍使用的DOS作業系統,

硬核科普:程式員必知的 89 個作業系統核心概念

24. MacOS X,怎能少得了蘋果作業系統?macOS 是蘋果公司推出的基于圖形用戶界面作業系統,為 Macintosh 的主作業系統

硬核科普:程式員必知的 89 個作業系統核心概念

25. Windows NT(Windows New Technology):是美國微軟公司 1993 年推出的純 32 位作業系統核心,

26. Service Pack(SP):是程式的更新、修復和(或)增強的集合,以一個獨立的安裝包的形式發布,許多公司,如微軟或Autodesk,通常在為某一程式而做的修補程式達到一定數量時,就發布一個Service Pack,

27. 數字著作權管理(DRM):他是工具或技術保護措施(TPM)是一組訪問控制技術,用于限制對專有硬體和受著作權保護的作品的使用,

28. x86:x86是一整套指令集體系結構,由 Intel 最扯訓于 Intel 8086 微處理器及其 8088 變體開發,采用記憶體分段作為解決方案,用于處理比普通 16 位地址可以覆寫的更多記憶體,32 位是 x86 默認的位數,除此之外,還有一個 x86-64 位,是x86架構的 64 位拓展,向后兼容于 16 位及 32 位的 x86架構,

29. FreeBSD:FreeBSD 是一個類 UNIX 的作業系統,也是 FreeBSD 專案的發展成果,

30. X Window System:X 視窗系統(X11,或簡稱X)是用于位圖顯示的視窗系統,在類 UNIX 作業系統上很常見,

硬核科普:程式員必知的 89 個作業系統核心概念

31. Gnome:GNOME 是一個完全由自由軟體組成的桌面環境,它的目標作業系統是Linux,但是大部分的 BSD 系統亦支持 GNOME,

硬核科普:程式員必知的 89 個作業系統核心概念

32. 網路作業系統(network operating systems):網路作業系統是用于網路設備(如路由器,交換機或防火墻)的專用作業系統,

硬核科普:程式員必知的 89 個作業系統核心概念

33. 分布式網路系統(distributed operating systems):分布式作業系統是在獨立,網路,通信和物理上獨立計算節點的集合上的軟體,它們處理由多個CPU服務的作業,每個單獨的節點都擁有全域集合作業系統的特定軟體的一部分,

硬核科普:程式員必知的 89 個作業系統核心概念

34. 程式計數器(Program counter):程式計數器 是一個 CPU 中的暫存器,用于指示計算機在其程式序列中的位置,

35. 堆疊暫存器(stack pointer):堆疊暫存器是計算機 CPU 中的暫存器,其目的是跟蹤呼叫堆疊,

36. 程式狀態字(Program Status Word): 它是由作業系統維護的8個位元組(或64位)長的資料的集合,它跟蹤系統的當前狀態,

37. 流水線(Pipeline): 在計算世界中,管道是一組串聯連接的資料處理元素,其中一個元素的輸出是下一個元素的輸入,流水線的元素通常以并行或按時間分割的方式執行,通常在元素之間插入一定數量的緩沖區存盤,

硬核科普:程式員必知的 89 個作業系統核心概念

38. 超標量(superscalar):超標量 CPU 架構是指在一顆處理器內核中實行了指令級并發的一類并發運算,這種技術能夠在相同的CPU主頻下實作更高的 CPU 流量,

39. 系統呼叫(system call): 指運行在用戶空間的程式向作業系統內核請求需要更高權限運行的服務,系統呼叫提供用戶程式與作業系統之間的介面,大多數系統互動式操作需求在內核態運行,如設備 IO 操作或者行程間通信,

40. 多執行緒(multithreading):是指從軟體或者硬體上實作多個執行緒并發執行的技術,具有多執行緒能力的計算機因為有硬體支持而能夠在同一時間執行多個執行緒,進而提升整體處理性能,

41. CPU 核心(core):它是 CPU 的大腦,它接收指令,并執行計算或運算以滿足這些指令,一個 CPU 可以有多個內核,

42. 圖形處理器(Graphics Processing Unit):又稱顯示核心、視覺處理器、顯示芯片或繪圖芯片;它是一種專門在個人電腦、作業站、游戲機和一些移動設備(如平板電腦、智能手機等)上運行繪圖運算作業的微處理器,

硬核科普:程式員必知的 89 個作業系統核心概念

43. 存盤體系結構:頂層的存盤器速度最高,但是容量最小,成本非常高,層級結構越向下,其訪問效率越慢,容量越大,但是造價也就越便宜,

硬核科普:程式員必知的 89 個作業系統核心概念

44. 高速快取行(cache lines):其實就是把高速快取分割成了固定大小的塊,其大小是以突發讀或者突發寫周期的大小為基礎的,

45. 快取命中(cache hit):當應用程式或軟體請求資料時,會首先發生快取命中,首先,中央處理單元(CPU)在其最近的記憶體位置(通常是主快取)中查找資料,如果在快取中找到請求的資料,則將其視為快取命中,

硬核科普:程式員必知的 89 個作業系統核心概念

46. L1 cache:一級快取是 CPU 芯片中內置的存盤庫,L1快取也稱為主快取,是計算機中最快的記憶體,并且最接近處理器,

47. L2 cache: 二級快取存盤庫,內置在 CPU 芯片中,包裝在同一模塊中,或者建在主板上,L2 高速快取提供給 L1 高速快取,后者提供給處理器,L2 記憶體比 L1 記憶體慢,

48. L3 cache: 三級快取內置在主板上或CPU模塊內的存盤庫,L3 高速快取為 L2 高速快取提供資料,其記憶體通常比 L2 記憶體慢,但比主記憶體快,L3 高速快取提供給 L2 高速快取,后者又提供給 L1 高速快取,后者又提供給處理器,

49. RAM((Random Access Memory):隨機存取存盤器,也叫主存,是與 CPU 直接交換資料的內部存盤器,它可以隨時讀寫,而且速度很快,通常作為作業系統或其他正在運行中的程式的臨時資料存盤介質,RAM作業時可以隨時從任何一個指定的地址寫入(存入)或讀出(取出)資訊,它與 ROM 的最大區別是資料的易失性,即一旦斷電所存盤的資料將隨之丟失,RAM 在計算機和數字系統中用來暫時存盤程式、資料和中間結果,

50. ROM (Read Only Memory):只讀存盤器是一種半導體存盤器,其特性是一旦存盤資料就無法改變或洗掉,且內容不會因為電源關閉而消失,在電子或電腦系統中,通常用以存盤不需經常變更的程式或資料,

51. EEPROM (Electrically Erasable PROM):電可擦除可編程只讀存盤器,是一種可以通過電子方式多次復寫的半導體存盤設備,

52. 閃存(flash memory):是一種電子式可清除程式化只讀存盤器的形式,允許在操作中被多次擦或寫的存盤器,這種科技主要用于一般性資料存盤,以及在電腦與其他數字產品間交換傳輸資料,如儲存卡與U盤,

53. SSD(Solid State Disks):固態硬碟,是一種主要以閃存作為永久性存盤器的電腦存盤設備,

硬核科普:程式員必知的 89 個作業系統核心概念

54. 虛擬地址(virtual memory):虛擬記憶體是計算機系統記憶體管理的一種機制,它使得應用程式認為它擁有連續可用的記憶體(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時存盤在外部磁盤存盤器上,在需要時進行資料交換,與沒有使用虛擬記憶體技術的系統相比,使用這種技術的系統使得大型程式的撰寫變得更容易,對真正的物理記憶體(例如RAM)的使用也更有效率,

55. MMU (Memory Management Unit):記憶體管理單元,有時稱作分頁記憶體管理單元,它是一種負責處理中央處理器(CPU)的記憶體訪問請求的計算機硬體,它的功能包括虛擬地址到物理地址的轉換(即虛擬記憶體管理)、記憶體保護、中央處理器高速快取的控制等

硬核科普:程式員必知的 89 個作業系統核心概念

56. context switch:背景關系切換,又稱環境切換,是一個存盤和重建 CPU 狀態的機制,要交換 CPU 上的行程時,必須先行存盤當前行程的狀態,然后再將行程狀態讀回 CPU 中,

57. 驅動程式(device driver):設備驅動程式,簡稱驅動程式(driver),是一個允許高級別電腦軟體與硬體互動的程式,這種程式創建了一個硬體與硬體,或硬體與軟體溝通的介面,經由主板上的總線或其它溝通子系統與硬體形成連接的機制,這樣使得硬體設備上的資料交換成為可能,

硬核科普:程式員必知的 89 個作業系統核心概念

58. 忙等(busy waiting):在軟體工程中,忙碌等待也稱自旋,是一種以行程反復檢查一個條件是否為真的條件,這種機制可能為檢查鍵盤輸入或某個鎖是否可用,

59. 中斷(Interrupt):通常,在接收到來自外圍硬體(相對于中央處理器和記憶體)的異步信號,或來自軟體的同步信號之后,處理器將會進行相應的硬體/軟體處理,發出這樣的信號稱為進行中斷請求(interrupt request,IRQ),硬體中斷導致處理器通過一個運行資訊切換(context switch)來保存執行狀態(以程式計數器和程式狀態字等暫存器資訊為主);軟體中斷則通常作為 CPU 指令集中的一個指令,以可編程的方式直接指示這種運行資訊切換,并將處理導向一段中斷處理代碼,中斷在計算機多任務處理,尤其是即時系統中尤為有用,

60. 中斷向量(interrupt vector):中斷向量位于中斷向量表中,中斷向量表(IVT)是將中斷處理程式串列與中斷向量表中的中斷請求串列相關聯的資料結構,中斷向量表的每個條目(稱為中斷向量)都是中斷處理程式的地址,

硬核科普:程式員必知的 89 個作業系統核心概念

61. DMA (Direct Memory Access):直接記憶體訪問,直接記憶體訪問是計算機科學中的一種記憶體訪問技術,它允許某些電腦內部的硬體子系統(電腦外設),可以獨立地直接讀寫系統記憶體,而不需中央處理器(CPU)介入處理 ,

62. 總線(Bus):總線(Bus)是指計算機組件間規范化的交換資料的方式,即以一種通用的方式為各組件提供資料傳送和控制邏輯,

63. PCIe (Peripheral Component Interconnect Express):官方簡稱PCIe,是計算機總線的一個重要分支,它沿用現有的PCI編程概念及信號標準,并且構建了更加高速的串行通信系統標準,

64. DMI (Direct Media Interface):直接媒體介面,是英特爾專用的總線,用于電腦主板上南橋芯片和北橋芯片之間的連接,

65. USB(Universal Serial Bus):是連接計算機系統與外部設備的一種串口總線標準,也是一種輸入輸出介面的技術規范,被廣泛地應用于個人電腦和移動設備等資訊通訊產品,并擴展至攝影器材、數字電視(機頂盒)、游戲機等其它相關領域,

硬核科普:程式員必知的 89 個作業系統核心概念

66. BIOS(Basic Input Output System):是在通電引導階段運行硬體初始化,以及為作業系統提供運行時服務的韌體,它是開機時運行的第一個軟體,

硬核科普:程式員必知的 89 個作業系統核心概念

67. 硬實時系統(hard real-time system):硬實時性意味著你必須絕對在每個截止日期前完成任務,很少有系統有此要求,例如核系統,一些醫療應用(例如起搏器),大量國防應用,航空電子設備等,

68. 軟實時系統(soft real-time system):軟實時系統可能會錯過某些截止日期,但是如果錯過太多,最終性能將下降,一個很好的例子是計算機中的聲音系統,

69. 行程(Process):程式本身只是指令、資料及其組織形式的描述,行程才是程式(那些指令和資料)的真正運行實體,若行程有可能與同一個程式相關系,且每個行程皆可以同步(循序)或異步的方式獨立運行,

70. 地址空間(address space):地址空間是記憶體中可供程式或行程使用的有效地址范圍,也就是說,它是程式或行程可以訪問的記憶體,存盤器可以是物理的也可以是虛擬的,用于執行指令和存盤資料,

71. 行程表(process table):行程表是作業系統維護的資料結構,該表中的每個條目(通常稱為背景關系塊)均包含有關行程的資訊,例如行程名稱和狀態,優先級,暫存器以及它可能正在等待的信號燈,

72. 命令列界面(command-line interpreter):是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面,它通常不支持滑鼠,用戶通過鍵盤輸入指令,計算機接收到指令后,予以執行,

硬核科普:程式員必知的 89 個作業系統核心概念

73. 行程間通信(interprocess communication):指至少兩個行程或執行緒間傳送資料或信號的一些技識訓方法,

74. 超級用戶(superuser):也被稱為管理員帳戶,在計算機作業系統領域中指一種用于進行系統管理的特殊用戶,其在系統中的實際名稱也因系統而異,如 root、administrator 與supervisor,

75. 目錄(directory): 在計算機或相關設備中,一個目錄或檔案夾就是一個裝有數字檔案系統的虛擬容器,在它里面保存著一組檔案和其它一些目錄,

76. 路徑(path name):路徑是一種電腦檔案或目錄的名稱的通用表現形式,它指向檔案系統上的一個唯一位置,

77. 根目錄(root directory):根目錄指的就是計算機系統中的頂層目錄,比如 Windows 中的 C 盤和 D 盤,Linux 中的 /,

78. 作業目錄(Working directory):它是一個計算機用語,用戶在作業系統內所在的目錄,用戶可在此目錄之下,用相對檔案名訪問檔案,

79. 檔案描述符(file descriptor):檔案描述符是計算機科學中的一個術語,是一個用于表述指向檔案的參考的抽象化概念,

80. inode:索引節點的縮寫,索引節點是 UNIX 系統中包含的資訊,其中包含有關每個檔案的詳細資訊,例如節點,所有者,檔案,檔案位置等,

81. 共享庫(shared library):共享庫是一個包含目標代碼的檔案,執行程序中多個 a.out 檔案可能會同時使用該目標代碼,

82. DLLs (Dynamic-Link Libraries):元件,它是微軟公司在作業系統中實作共享函式庫概念的一種實作方式,這些庫函式的擴展名是 .DLL、.OCX(包含ActiveX控制的庫)或者.DRV(舊式的系統驅動程式),

83. 客戶端(clients):客戶端是訪問服務器提供的服務的計算機硬體或軟體,

84. 服務端(servers):在計算中,服務器是為其他程式或設備提供功能的計算機程式或設備,稱為服務端

85. 主從架構(client-server):主從式架構也稱客戶端/服務器架構、C/S 架構,是一種網路架構,它把客戶端與服務器區分開來,每一個客戶端軟體的實體都可以向一個服務器或應用程式服務器發出請求,有很多不同型別的服務器,例如檔案服務器、游戲服務器等,

硬核科普:程式員必知的 89 個作業系統核心概念

86. 虛擬機(Virtual Machines):在計算機科學中的體系結構里,是指一種特殊的軟體,可以在計算機平臺和終端用戶之間創建一種環境,而終端用戶則是基于虛擬機這個軟體所創建的環境來操作其它軟體,

硬核科普:程式員必知的 89 個作業系統核心概念

87. Java 虛擬機(Java virtual Machines):Java虛擬機有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統,JVM屏蔽了與具體作業系統平臺相關的資訊,使得Java程式只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平臺上不加修改地運行,

88. 目標檔案(object file):目標檔案是包含目標代碼的檔案,這意味著通常無法直接執行的可重定位格式的機器代碼,目標檔案有多種格式,相同的目標代碼可以打包在不同的目標檔案中,目標檔案也可以像共享庫一樣作業,

89. C preprocessor:C 前處理器是 C 語言、C++ 語言的前處理器,用于在編譯器處理程式之前預掃描源代碼,完成頭檔案的包含, 宏擴展, 條件編譯, 行控制等操作,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56394.html

標籤:java

上一篇:2020年復旦大學計算機學院夏令營面經

下一篇:自動化辦公之excel教程(4):使用藝術字,圖片,圖形美化作業表

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more