3
背景: 由於硬件相關的原因,我需要分配使用DOS Protected Mode Interface的內存以便與一些低級別接口(例如VESA BIOS Extensions)進行通信。是否可以使用自定義靜態分配器? /一種方法來僞造它?
現狀: 所以我可以超載new
和delete
用於動態分配的內存這是偉大的,但我真的想超載分配器的靜態分配的內存。我正在處理的項目是相當老的庫,因此需要相當數量的靜態全局變量。
問題: 有沒有什麼辦法可以讓這些變量的分配過程超載?如果沒有,是否有一個模板可以動態分配這些變量,這些變量不需要顯式分配或刪除,並且幾乎完全透明?
全局變量是靜態的還是不是靜態的,都不是在堆上動態分配的。它們被放入程序加載時初始化的特殊段中。特殊段中的存儲由編譯器完成,在程序運行之前,程序加載器會對存儲段中的段進行初始化。 –
你的目標是MS DOS嗎?你正在使用哪種編譯器? –
是的,我使用DJGPP(i586-pc-msdosdjgpp-gcc(GCC)6.3.0)瞄準MS-DOS, – Gravis