對於dup2 fd,1 的理解

2021-10-02 18:30:55 字數 612 閱讀 8992

檔案描述符中0標準輸入,1標準輸出,2標準錯誤

這三個在正常情況下都存在著

你任意open乙個檔案得到的檔案描述符都是至少從3開始

dup2(fd,1)=dup2(fd,stdout_fileno)

dup2(fd,1)

這裡複製的是檔案描述符(fd)

標準輸出(stdout)也就是程式在螢幕終端輸出結果。

那dup2(fd,1)的作用就是關閉標準輸出,本應該寫入到stdout的內容,標準輸出已經重定向到目標檔案(fd)中,故向標準輸出寫的資料將會寫到目標檔案(fd所表示的檔案)中。

不是將test.txt變成螢幕,而是將寫向螢幕的寫向test.txt(當然你可以理解成fd->螢幕)

同理dup2(fd,0)也就是是關閉標準輸入,本應該從stdin寫進的內容,標準輸入已經重定向到目標檔案(fd)中,目標檔案(fd所表示的檔案)中的內容也就被當做標準輸入。(當然你可以理解為fd->鍵盤)

用指標的觀點來深入理解dup和dup2的用法

用指標的觀點來深入理解 dup和 dup2 的用法 ejian 2007 09 17 網上有很多資料詳細講解了 dup和 dup2 的用法,有講得不錯的,但總感覺理解起來還是有點困難,通過實踐,我發現一種 c程式更容易理解的講解方法 使用模擬指標的方法來闡述 dup和 dup2 的用法,可能更容易讓...

對於遞迴的個人理解 2

對於上篇文章所說的 遞迴策略只需少量的程式就可描述出解題過程所需要的多次重複計算,大大地減少了程式的 量。遞迴的能力在於用有限的語句來定義物件的無限集合 這只是乙個表象,最主要的思想是看起來規模很大的問題劃分為乙個或者多個規模更小的子問題,而這些子問題可以用同樣的方法去求解。用遞迴來解決問題的時候,...

對於正則化項L1,L2範數的理解

之前講到了利用正則化項降低過擬合,這裡再總結一下l1,l2這兩種範數作為正則化項各自的特點及區別 在深度學習一書中,帶有l2範數的正則化項的目標函式如下 其中 wtw wwtw w 2 2 w 2 即為l2範數,其實運用仔細一看這個就是帶有不等式約束的拉格朗日函式最優化問題即 minj w x,y ...