我實現在C C預...如何有效管理中間輸出?
我有三個功能:
- 三字符替換功能
- 線拼接功能
- 評論刪除功能
然而,這些功能分別對文件起作用,即
第一個函數將生成一個文件並替換生成temp-file1的三元組作爲輸出
第二個函數將temp-file1作爲輸入,並拼接這些行並生成另一個temp-file2。
第三個函數將temp-file2作爲輸入並刪除註釋併產生另一個temp-file3。
現在主要的預處理任務將在temp-file3上執行,而.i文件將作爲最終輸出生成。
現在,我有3個選項:
- 使用臨時文件
- 使用管道
- ,而不是中間臨時-文件或管道使用字符串(即整個溫度-文件1,2和3將三大串!)
我有三個疑點......
- 選項1似乎效率低於選項2
- 選項2似乎是完美的,但是會受到該未命名管道大小的限制嗎? (因爲我有單個進程即功能1 2 & 3將被一個接一個地調用)如果臨時輸出大小>管道的總容量?
- 選項3 ...它是否有效,容易比前兩個?
請告訴我,我應該選擇哪個選項?
通過管道連接的進程並行運行,而不是按順序運行。所以管道緩衝區的大小不成問題。 – Barmar 2013-03-28 04:31:52