我想知道是否有內置的運行時解析器在C#中的頭文件。我有幾個不同的C頭文件,我想解析它們(稍後將用它們來確定網絡數據包將如何反序列化)。理想情況下,一些選項動態加載.h文件,創建結構,然後使用反射來以某種方式解析結構,只是不確定是否有方法在運行時加載.h文件以創建結構。C#中的頭文件解析器?
如果沒有簡單的方法來做到這一點,我可以手動解析它。
我想知道是否有內置的運行時解析器在C#中的頭文件。我有幾個不同的C頭文件,我想解析它們(稍後將用它們來確定網絡數據包將如何反序列化)。理想情況下,一些選項動態加載.h文件,創建結構,然後使用反射來以某種方式解析結構,只是不確定是否有方法在運行時加載.h文件以創建結構。C#中的頭文件解析器?
如果沒有簡單的方法來做到這一點,我可以手動解析它。
不,沒有標準的方法來做到這一點,並且考慮到C類型(根據編譯器和平臺的不同)和CLR類型之間沒有確切的對等關係,我不知道完全通用可以寫一個。
你自己解析數據要好得多。
這都相當接近:http://www.swig.org/
這是一個包裝生成器,可以閱讀C++文件並生成C#包裝(或許多其他語言)。
Swig很不錯,但這看起來像是一個臨界情況,在這種情況下手動包裝所涉及的文件可能比處理將swig集成到工作流中更簡單。 – Eric 2009-09-21 15:47:33
這似乎很有趣,但我所做的解析不是很複雜(反正我寫了頭文件)。但我會牢記這一點。 – CookieOfFortune 2009-09-21 15:54:43
好的,謝謝,手動解析對我來說很好。 – CookieOfFortune 2009-09-21 15:26:38