我想知道是否有跨平臺分配器比malloc/free低一級。例如,我想要一些簡單地稱爲Linux中的sbrk和Windows中的VirtualAlloc的東西(可能有兩個更類似的系統調用,但它只是一個示例)。跨平臺內存分配器sbrk/virtualalloc
0
A
回答
2
我不熟悉的問題的功能,但如果
#if defined (__WIN32__)
#define F(X) VirtualAlloc(X)
#elif defined (__LINUX__) /* or whatever linux's define is */
#define F(X) sbrk(X)
#endif
不知道語法是100%(我是新來的宏& C),但總體思路應該工作。使用的VirtualAlloc
http://www.genesys-e.org/jwalter//mix4win.htm
它基本上實現了SBRK()在Windows下:
0
C爲你malloc
和free
,C++增加new
,new[]
,delete
和delete[]
而且除了什麼C提供的安置形式。
還有什麼,你超出了語言本身的領域。你要麼在操作系統的土地上行走,要麼在組裝者中謀殺。毫無疑問,這種事情是跨平臺的。
我想知道如果這樣的分配器存在會有什麼好處呢?
你可以實現你自己的malloc /自由,而不必擔心底層的操作系統
而且你會想其他的跨平臺解決方案來實現這一點,另一個......你明白了吧。這不是一個可行的方案。
0
最近,我發現這篇文章。
相關問題
- 1. 跨平臺,跨瀏覽器的JavaScript性能分析
- 2. 跨平臺
- 3. 跨平臺
- 4. 跨平臺CSRF
- 5. 跨平臺C?
- 6. 跨平臺Bonjour
- 7. SWIG跨平臺
- 8. Android跨平臺
- 9. 在嵌入式平臺上線程級內存分配奇怪
- 10. 跨平臺比較文件內容
- 11. 分發跨平臺的python3腳本
- 12. 跨平臺分區管理庫?
- 13. 跨平臺音頻分析庫
- 14. 跨平臺分佈電子應用
- 15. 跨平臺移動平臺編程
- 16. 跨平臺框架
- 17. 跨平臺構建
- 18. IOCP,跨平臺庫?
- 19. 跨平臺開發?
- 20. S.M.A.R.T.跨平臺API?
- 21. 跨平臺formatString的
- 22. 跨平臺部署
- 23. C#Activex跨平臺
- 24. 跨平臺登錄
- 25. 跨平臺問題
- 26. .NET跨平臺緩存依賴關係
- 27. Xamarin Forms跨平臺持久存儲
- 28. 關於釋放內存/跨平臺兼容性的問題
- 29. Magento:機器內存分配
- 30. C++:內存分配器
我想知道如果這樣的分配器存在會有什麼好處呢? – lothar 2009-04-23 03:12:20
你可以實現你自己的malloc/free,而不用擔心底層操作系統。 – Unknown 2009-04-23 03:21:32
聽起來像完全相反。 malloc/free是跨操作系統(通過C庫)的標準接口,您的每個操作系統都需要不同的OS調用。 – lothar 2009-04-23 15:33:02