符號連結到符號連結效率低嗎?

符號連結到符號連結效率低嗎?

我們正在設定一系列 Makefile,其中我們希望有一個專案級包含目錄,該目錄將具有指向子專案級包含檔案的符號連結。許多子項目開發人員選擇讓他們的包含檔案也成為實際軟體所在的另一個目錄的符號連結。

所以我的問題是,擁有指向另一個檔案的符號連結的符號連結是否效率低(例如,在編譯過程中可能包含數十次或更多次的 C++ 標頭)?

目錄樹範例:

/project/include/
                 x_header1.h -> /project/src/csci_x/include/header1.h
                 x_header2.h -> /project/src/csci_x/include/header2.h
/project/src/csci_x/
                    include/
                            header1.h -> /project/src/csci_x/local_1/cxx/header1.h
                            header2.h -> /project/src/csci_x/local_2/cxx/header2.h
                    local_1/cxx/
                                module1.cpp
                                header1.h
                    local_2/cxx/
                                module2.cpp
                                header2.h

答案1

不確定你的意思是低效,但我的猜測是「否」。

內核處理所有符號鏈接,gnumake 只是執行 open() 並獲取檔案。任何用戶級應用程式都不關心(好吧,很少關心)它是否是符號鏈接,它只是獲取文件。

與編譯和將快取寫入/刷新到磁碟的時間相比,核心需要經歷的額外符號連結等級是微不足道的。

相關內容