2008-11-08 28 views
1

我需要爲數據聲明解析.c/ .h文件並提取類型聲明。例如,我可能需要提取的變量聲明,它對應的可能看起來像數據類型:使用C#解析聲明和數據類型定義的* .c/*。h文件的最佳方法

typedef union 
{ 
    struct 
    { 
    unsigned char OG15 : 1, 
        ... 
        OG0 : 1; 
    } Bits; 
    unsigned short Packed; 

} OUTPUT_DESCRIPTOR; 


OUTPUT_DESCRIPTOR DiscreteWord1; 

所以我的問題是(用C#):

  1. 什麼是最好的方式存儲數據類型信息?
  2. 解析源文件以提取聲明和數據類型的最佳方法是什麼?

THX

馬克

回答

1

不知道任何這是否是最好的方法,但是我可以提出兩種工作方式:

  1. 使用鳳凰SDK編寫編譯器通記錄這些信息。
  2. 使用常規C編譯器編譯代碼,請求PDB文件,然後使用DIA API從PDB文件中讀取數據結構定義。
相關問題