国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux操作命令&靜態(tài)庫和動態(tài)庫區(qū)別&大小端&孤兒僵尸進(jìn)程

這篇具有很好參考價值的文章主要介紹了Linux操作命令&靜態(tài)庫和動態(tài)庫區(qū)別&大小端&孤兒僵尸進(jìn)程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.Linux操作命令

cd:切換當(dāng)前目錄

ls:查看當(dāng)前文件與目錄

grep:通常與管道符命令一起使用,用于對一些命令的輸出進(jìn)行篩選和加工

cp:復(fù)制文件或文件夾

mv:移動文件或文件夾

rm:刪除文件或文件夾

ps:查看進(jìn)程情況

kill:向進(jìn)程發(fā)送信號

tar:對文件進(jìn)行打包

cat:查看文件內(nèi)容

top:查看操作系統(tǒng)的信息,如進(jìn)程,CPU占用率,內(nèi)存信息

free:查看內(nèi)存使用情況

pwd:顯示當(dāng)前工作目錄

mkdir:創(chuàng)建文件夾

rmdir:刪除一個空目錄

rm:刪除一個文件或目錄(rm -rf./*刪除當(dāng)前目錄)

vi里面的操作:

u:撤銷上一步的操作

ctrl+r:將原來的撤銷重做一遍

U:恢復(fù)一整行原來的面貌(文本打開時的狀態(tài))

:wq 保存退出

:e!? 放棄修改,重新回到文件打開時的狀態(tài)

2.靜態(tài)庫和動態(tài)庫如何制作及使用,區(qū)別?

命名規(guī)則、制作指令、使用、區(qū)別

1.靜態(tài)庫的制作與使用-命名規(guī)則

Linux:

libxxx.a?

lib:前綴(固定)

xxx:庫的名字,自己命名

.a:后綴(固定)

Windows:

libxxx.lib

2.動態(tài)庫的制作與使用-命名規(guī)則

Linux:

libxxx.so

lib:前綴(固定)

xxx:庫的名字,自己命名

.so:后綴(固定)

Windows:

libxxx.dll

3.區(qū)別

1.鏈接時間和方式

靜態(tài)庫:靜態(tài)庫gcc進(jìn)行鏈接時,會把靜態(tài)庫中的代碼打包到可執(zhí)行程序中,編譯時加載。

發(fā)布程序時無需提供靜態(tài)庫,移植方便

消耗內(nèi)存,更新部署發(fā)布麻煩

動態(tài)庫:動態(tài)庫gcc進(jìn)行鏈接時,動態(tài)庫的代碼不會打包到可執(zhí)行程序中,運行時加載。

發(fā)布程序時需要提供動態(tài)庫

占用內(nèi)存小,更新部署發(fā)布簡單

3.大端和小端判斷方式

大端和小端指的是字節(jié)序,顧名思義就是字節(jié)的順序。就是大于一個字節(jié)類型的數(shù)據(jù)在內(nèi)存中存放的順序。

大端:一個整數(shù)的最高位字節(jié)存儲在內(nèi)存的低地址處。

小端:高存高。

定義變量int i=1;將 i 的地址拿到,強轉(zhuǎn)成char*型,這時候就取到了 i 的低地址,這時候如果是1就是小端存儲,如果是0就是大端存儲。

void panduan(){
    int i = 1;
    char c = (*(char*)i);
    
    if(c)
        cout<<"小端\n";
    else
        cout<<"大端\n";
}

4.什么是孤兒進(jìn)程,什么是僵尸進(jìn)程,如何解決僵尸進(jìn)程

孤兒進(jìn)程:

孤兒進(jìn)程指的是一個父進(jìn)程退出后,而他的一個或多個子進(jìn)程還在運行中,那么這些子進(jìn)程將成為孤兒進(jìn)程。

孤兒進(jìn)程將被init進(jìn)程(進(jìn)程號為1)所收養(yǎng),并且由init進(jìn)程對他們完整狀態(tài)收集工作,孤兒進(jìn)程一般沒有危害。

僵尸進(jìn)程:

僵尸進(jìn)程是指一個進(jìn)程使用fork()函數(shù)創(chuàng)建子進(jìn)程,如果子進(jìn)程退出,而父進(jìn)程沒有調(diào)用wt()或者wtpid()系統(tǒng)調(diào)用取得子進(jìn)程的終止?fàn)顟B(tài),那么子進(jìn)程的進(jìn)程描述符仍舊保存在系統(tǒng)中,占用系統(tǒng)資源,這種稱為僵尸進(jìn)程。

解決僵尸進(jìn)程:

為了防止僵尸進(jìn)程,在fork()函數(shù)創(chuàng)建子進(jìn)程后,要及時在父進(jìn)程中使用wt()或者wtpid()系統(tǒng)調(diào)用,等子進(jìn)程結(jié)束后,父進(jìn)程回收子進(jìn)程PCB資源。

當(dāng)子進(jìn)程退出的時候,內(nèi)核會給父進(jìn)程一個sigchld信號,所以可以建立一個捕獲sigchld信號的信號處理函數(shù),在函數(shù)體中調(diào)用wt()或者wtpid(),就可以清理退出的子進(jìn)程防止僵尸進(jìn)程。文章來源地址http://www.zghlxwxcb.cn/news/detail-604227.html

到了這里,關(guān)于Linux操作命令&靜態(tài)庫和動態(tài)庫區(qū)別&大小端&孤兒僵尸進(jìn)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • mingw64下動態(tài)庫和靜態(tài)庫鏈接的真正區(qū)別和用法(詳細(xì))

    mingw64下動態(tài)庫和靜態(tài)庫鏈接的真正區(qū)別和用法(詳細(xì))

    筆者一直以來都對mingw64下動態(tài)庫和靜態(tài)庫鏈接的真正區(qū)別和用法存疑,于是做了一些測試,這篇文章記錄了測試過程和測試結(jié)果,如果只想知道結(jié)果可以跳轉(zhuǎn)到文章末尾 首先準(zhǔn)備三個測試文件 其中add.c最終會被編譯會靜態(tài)庫或動態(tài)庫,被測試文件main.c調(diào)用 使用如下命令構(gòu)建

    2024年02月05日
    瀏覽(19)
  • windows下qt使用第三方庫(靜態(tài)鏈接庫lib)、靜態(tài)庫和動態(tài)庫區(qū)別、動態(tài)庫的使用。

    windows下qt使用第三方庫(靜態(tài)鏈接庫lib)、靜態(tài)庫和動態(tài)庫區(qū)別、動態(tài)庫的使用。

    這里主要是講述windows下qt使用第三方庫。 windows下qt使用第三方庫(靜態(tài)鏈接庫lib)。 為了能夠使測試更準(zhǔn)確,首先自己用qt創(chuàng)建了一個已經(jīng)封裝好的lib庫。 然后讓另一個項目去鏈接這個lib靜態(tài)庫,并且去調(diào)用里面的方法。 目的: 使 untitled項目 能夠使用 myllplib.lib 靜態(tài)庫,這

    2023年04月17日
    瀏覽(24)
  • 【Linux】動態(tài)庫和靜態(tài)庫

    【Linux】動態(tài)庫和靜態(tài)庫

    軟鏈接 命令: ln -s 源文件名 目標(biāo)文件名 軟鏈接是獨立連接文件的,他有自己的inode number,有自己的inode屬性和內(nèi)容。 軟鏈接內(nèi)部存放的是自己所指向文件的路徑。 現(xiàn)實中,我們軟鏈接的應(yīng)用有,例如電腦桌面的快捷模式等。 inode number 不相同 硬鏈接 命令: ln 源文件目標(biāo)文件

    2024年02月11日
    瀏覽(27)
  • Linux之靜態(tài)庫和動態(tài)庫

    Linux之靜態(tài)庫和動態(tài)庫

    目錄 一、前言 二、對于庫的理解 三、靜態(tài)庫 四、動態(tài)庫 五、動靜態(tài)庫的加載 在之前,我們講了靜態(tài)庫和動態(tài)庫,詳情請?zhí)D(zhuǎn):靜態(tài)庫和動態(tài)庫 下面我們將從工程師的角度,去了解靜態(tài)庫和動態(tài)庫的形成過程,以及實現(xiàn)它們的制作。并且了解如何將自己的庫交給別人,讓別

    2024年01月20日
    瀏覽(20)
  • Linux下動態(tài)庫和靜態(tài)庫編譯實踐

    之前寫過JNI的文章,在JNI實踐過程中,也涉及到對動態(tài)庫/靜態(tài)庫的一些編譯實踐,這里統(tǒng)一記錄一下。 注意 :-fPIC編譯選項可使GCC生成位置無關(guān)代碼,簡單來說生成的代碼中的函數(shù)與全局變量均為相對地址,通過GOT (Global offset table)來確定其位置,這種方式引入了一層額外的

    2024年01月17日
    瀏覽(21)
  • 如何在linux下制作靜態(tài)庫和動態(tài)庫

    如何在linux下制作靜態(tài)庫和動態(tài)庫

    靜態(tài)庫顧名思義是靜態(tài)的,即程序編譯鏈接時,會把靜態(tài)庫的代碼鏈接到可執(zhí)行文件中。運行時不需要靜態(tài)庫(將靜態(tài)庫刪了也能運行)。 相當(dāng)于靜態(tài)庫的代碼復(fù)制到了可執(zhí)行文件中。 分別有如下add.c add.h sub.c sub.h四個文件格式。 首先把.c文件都編譯成.o文件。使用下面命令

    2024年01月24日
    瀏覽(24)
  • Linux中靜態(tài)庫和動態(tài)庫的使用

    Linux中靜態(tài)庫和動態(tài)庫的使用

    介紹: 庫是一個二進(jìn)制文件,包含的代碼可被程序調(diào)用 標(biāo)準(zhǔn)C庫、數(shù)學(xué)庫、線程庫… 庫有源碼,可下載后編譯;也可以直接安裝二進(jìn)制包 位置一般放在:/lib /usr/lib 庫的知識 庫是事先編譯好的,可以復(fù)用的代碼 在os上運行的程序基本上都要使用庫,使用庫可以提高開發(fā)效率

    2024年01月25日
    瀏覽(28)
  • linux下g++鏈接動態(tài)庫和靜態(tài)庫

    頭文件的作用: include的作用就是復(fù)制內(nèi)容到當(dāng)前文件 井號開頭的就是預(yù)處理指令,由預(yù)處理器處理,預(yù)處理階段不關(guān)心代碼,只處理預(yù)處理指令。 頭文件主要 一是為了解決代碼都寫在一個文件太大了,二是把變量,結(jié)構(gòu)體,函數(shù)聲明這些固定的放在一起 函數(shù)只要聲明了,

    2024年02月09日
    瀏覽(21)
  • linux并發(fā)服務(wù)器 —— 動態(tài)庫和靜態(tài)庫實戰(zhàn)(一)

    linux并發(fā)服務(wù)器 —— 動態(tài)庫和靜態(tài)庫實戰(zhàn)(一)

    -E 預(yù)處理指定源文件 -S 編譯指定源文件 -c 匯編指定源文件 -o 生成可執(zhí)行文件 -I directory 指定Include包含文件的搜索目錄 -g 編譯的時候生成調(diào)試信息 -D 在程序編譯時指定一個宏 -w 不生成任何的警告信息 -Wall 生成所有警告 -On n:0~3;表示編譯器的優(yōu)化選項級別 O0 - 不優(yōu)化;O1 -

    2024年02月11日
    瀏覽(20)
  • Linux下gcc編譯,動態(tài)庫和靜態(tài)庫,makefile,gdb調(diào)試

    Linux下gcc編譯,動態(tài)庫和靜態(tài)庫,makefile,gdb調(diào)試

    展開頭文件, 宏替換(變量宏、函數(shù)宏)、替換空格等 逐行檢查程序中出現(xiàn)的語法錯誤,簡單的邏輯錯誤 將 .s 匯編文件中所有的匯編指令翻譯成二進(jìn)制機器碼(下面就是來了個截圖,二進(jìn)制顯示了亂碼) 將 .o 的目標(biāo)文件,鏈接庫文件、數(shù)據(jù)段合并,地址回填(把匯編里相

    2024年02月08日
    瀏覽(52)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包