對於調試和日誌記錄庫,我希望能夠在運行時查找項目已編譯的所有源文件的列表以及鏈接。我假設我將在每個源文件中包含某種頭文件,並且預處理程序__FILE__宏可以爲該文件提供一個字符常量,所以我只需要以某種方式「廣播」來自每個文件的信息,以便通過運行時功能。註冊每個C/C++源文件以創建使用源的運行時列表
問題是如何優雅地做到這一點,特別是如果它可以從C而不是C++完成。在C++中,我可能會嘗試使用靜態存儲來創建一個類來保存文件名列表。每個頭文件都會創建該類的文件本地靜態實例,該實例在創建時會將FILE指針或其他任何內容附加到類的靜態數據成員中,可能會作爲鏈接列表。
但我不認爲這將在C中工作,甚至在C++中我不確定它會保證每個元素都將被創建。
你使用makefile或Visual Studio/Eclipse/etc? – 2009-03-06 12:18:28