幾中常考概念區別


一. 靜態庫與動態庫的區別

靜態庫的代碼在編譯過程中已經被載入可執行程序,故不依賴庫文件,體積較大。有改動需要重新編譯整個解決方案。

動態庫的代碼是在可執行程序運行時才載入內存的,在編譯過程中僅簡單的引用,因此代碼體積較小。有改動是只需要重新生成動態庫,便於升級。

二. TCP和UDP的區別

TCP提供面向連接的、可靠數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸。

TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為用戶數據報

TCP注重數據安全性,UDP數據傳輸快,因為不需要連接等待,少了許多操作,但是其安全性卻一般。

三. 進程和線程的區別

在引入線程的操作系統中

定義:

進程是操作系統進行資源分配的基本單位。進程可執行的實體。

線程是獨立運行的基本單位,因而也是獨立調度和分派的基本單位。

關系:

一個進程可以包含多個線程,但至少包含一個線程。

調度和切換:

線程上下文切換比進程上下文切換要快得多。

通信:

進程間通信IPC,線程間可以直接讀寫進程數據段(如全局變量)來進行通信。

四.指針和引用的區別

相同點:

二者都指向一塊內存,都可以作函數形參。

不同點:

1.引用是一個變量的別名,與其指向的變量共享內存;

指針是一個存放地址的變量,有自己的內存空間。

2.引用在聲明時必須初始化,且以后不能改變;

指針在運行時可以改變其所指向的值。

3.引用訪問變量是直接訪問,指針是間接訪問;存在指針的指針,不存在引用的引用。

五.#include<>和#include""的區別

#include<>用來引用標准庫頭文件,編譯器從標准庫目錄開始搜索。

#include""用來引用非標准庫頭文件,編譯器用戶工作目錄(對VS來說是工程文件所在目錄)開始搜索。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com