gcc與g++的區別
比如有兩個文件:main.c? mainc++.cpp(分別是用C語言和C++語言寫的)如果要用gcc編譯:
gcc -o mainc main.c
gcc -o mainc mainc++.cpp -lstdc++表明使用C++標準庫;
區別一:
gcc默認只鏈接C庫,并不會鏈接C++的庫;g++會默認鏈接C++的標準庫
區別二:
gcc編譯.c文件,則按照C語言的方式編譯;gcc如果編譯.cpp文件,則按照C++的方式編譯;
而g++不管是編譯c文件還是cpp文件,都是按照c++的方式進行編譯;也就是g++不慣文件后綴,直接按照C++的語法規則處理問題:如果gcc要按照C++的方式編譯,就只能指定庫(-lstdc++)
進程管理命令
進程的概念:
? ? 運行中的程序(他是動態的 過程)
程序:儲存在磁盤上的二進制可執行文件;(靜態)
操作系統是通過管理進程,讓進程運行來完成用戶的任務的;
PCB:進程塊控制,記錄的事進程的相關屬性信息;數據結構
PID:是操作系統對進程的標識;唯一的;
? ? ? ? 簡而言之,程序:指令+數據;進程:運行中的程序,也就是說,程序是儲存在磁盤上的二進制可執行文件,而進程是內存上的,是運行中的程序(過程);
操作系統是通過管理進程,讓進程運行來完成用戶的任務的;
操作系統對于進程的描述:PCB(進程控制塊,進程描述符),記錄一個進程執行過程中的相關的屬性數據;PID是操作系統對進程的標識,每一個進程的PID都是不同的(唯一的);
為了描述控制進程的運行,系統中存放進程的管理和控制信息的數據結構成為進程控制塊,他是進程實體的一部分,是操作系統中最重要的記錄性數據結構。它是進程管理和控制的最重要的數據結構,每一個進程均有一個PCB,在創建進程時,建立PCB,伴隨進程運行的全過程,知到進程撤銷而撤銷。