1. 程式人生 > >dcc源代碼詳解(2)

dcc源代碼詳解(2)

去除 函數 com 生成 代碼 lena light process highlight

在實現distcc客戶端時,需要首先實現該功能dcc_expand_preprocessor_options,該函數對gcc的-wp參數進行了處理

查看linux的幫助手冊可以看到

-Wp,<options>            Pass comma-separated <options> on to the preprocessor

 把後面的參數傳給預處理,distcc的主要功能是,先在本地完成預處理,即展開頭文件,然後發送到遠端編譯,遠端編譯完成後,在本地實現鏈接。完成了整個代碼的生成二進制文件

該函數中dcc_expand_preprocessor_options,判斷是否有-Wp,選項,如果有的話去除-Wp參數,把後面的正常添加上,對-MD或者-MMD參數,則按照--MD FILENAME MF展開

dcc源代碼詳解(2)