C++頭文件解析
回答
解析C++很困難。您可能想要使用現有的解析器。我知道的4那可能是有用的:
- 愛迪生設計集團前端
- 鏘的C++解析器
- DMS軟件再造工具包和C++ 14的前端
- GCC(通過熔融)
其中大多數不會「解析」宏;他們想要擴展他們使用預處理器。所以宏和PP條件從解析樹中消失。 DMS可以進行「有限」的預處理,並收集/保留在結構良好的地方以及它們常見的各種地方發現的預處理器指令和宏。
解析頭文件是真的艱難;他們往往會加載來自許多以前版本軟件的條件和垃圾,以及來自特定供應商的成語。 (MS的標題中有一些驚人的怪異東西)。除非你正在討論解析你的頭文件,否則確保你檢查你選擇的工具可以處理你實際處理的C++方言。
感謝您的信息。但我的問題是,我需要在運行時讀取頭文件的內容。在運行時,我需要解析頭文件中的結構並存儲在內存中。你能提出建議嗎? – IPS 2015-03-03 07:21:20
在運行時?然後,您需要找出一種方法,在應用程序啓動後將這些小狗加載到您的應用程序空間中(我敢打賭這真的很尷尬),將您的應用程序*移植到這些(更可能)的*中,或者調用其中的一個作爲一個需求子進程。你試圖完成什麼,需要在運行時讀取這些數據? – 2015-03-03 11:25:05
- 1. C#中的頭文件解析器?
- 2. 如何解析C頭文件?
- 3. C,解析一些http頭文件
- 4. FOSRestBundle解析頭文件
- 5. 解析C文件
- 6. 解析C頭文件以生成文件
- 7. TIFF文件解析C#
- 8. 解析CSV文件C++
- 9. C#中的文件解析#
- 10. 解析C源文件
- 11. Objective-C解析XML文件
- 12. C#解析XML文件
- 13. 用C解析XML文件#
- 14. 解析JSON文件C#
- 15. 解析C++中的文件
- 16. 用Scapy解析MySQL頭文件
- 17. 如何解析此頭文件?
- 18. PHP中未解析的頭文件
- 19. 用PHP解析fsockopen的HTTP頭文件?
- 20. 解析C文件中的XML文件而無需解析庫
- 21. 使用GNU工具鏈從文件解析C++函數頭
- 22. 解析C頭文件,以確定所有的宏定義
- 23. 使用Java解析/讀取C頭文件
- 24. 在C++頭文件中解析循環引用
- 25. 如何解析C++頭文件的集合?
- 26. 解析c文件中的.conf文件
- 27. 最簡潔的方式來解析頭文件C的文本文件#
- 28. 因爲頭文件而導致的C++未解析的外部文件
- 29. 從長文本解析文件在C
- 30. 用C解析複雜文本文件#
http://clang.llvm.org/doxygen/group__CINDEX.html – deviantfan 2015-03-03 06:46:20
@deviantfan您可以請解釋如何使用該API。因爲我需要解析包含超過100個結構的完整頭文件並找到我需要的結構。然後我需要讀取結構變量及其偏移量以將其存儲在內存中。 – IPS 2015-03-03 06:51:47
@HariPrabhakaran:不要指望處理C++複雜性的設備的API「簡單」。您將不得不支付學習如何使用C++解析引擎的費用,並且還需要花費您在代碼中學習C++黑暗角落的代價,以及API如何處理這種類型的東西。 – 2015-03-03 06:56:18