2012-10-14 82 views
0

我正在處理一個嵌入式處理器的項目,其中有一些在運行時創建的數據,並且指向此數據的指針需要排列到幾個二叉樹 - 如程序使用的數據結構。C數據結構 - 存儲二叉樹的表示

這些結構將在程序期間得到修復,但是,我希望在編譯時選擇能夠快速更改所用樹的結構。對於所涉及的每一棵樹來說,一個函數或宏可以重複地調用「AddNode」函數,以適合樹中每個底層數據元素和節點的順序調用「AddNode」函數。感謝您的任何建議!

+1

如何創建樹的文字表述,並保存在一個字符串,然後解析它來構建樹?然後可以在編譯時切換使用哪個字符串。 –

+1

我通常使用創建結構內存映像的實用程序,直接以二進制形式或符號形式,通過鏈接器或實用程序完成修訂。 –

+0

謝謝 - 這些都是有吸引力的建議。 – Bitrex

回答

1

如何使用M4預處理器實現高級僞語言來生成構建樹所需的C代碼?您的代碼可能具有一個稱爲的函數,例如initTrees(),它的主體將由M4自動生成,該文件的內容將是所需樹形結構的描述。整個過程將如下所示:

sample.c.m4 ---> [M4] ---> sample.c文件---> [C編譯器] --->二進制文件

http://www.gnu.org/software/m4/

http://en.wikipedia.org/wiki/M4_(computer_language

+0

謝謝,這當然值得考慮! – Bitrex

+0

不客氣;-) – Claudix