[英]Check if a variable was statically or dynamically allocated or not?
我正在實現自己的malloc和free函數。 如何進行將動態變量傳遞給靜態變量的錯誤檢查? 假設我有:
char foo[10];
void *bar = malloc(5);
void free(void *p)
有沒有辦法告訴用戶這是一個錯誤?
free(foo)
最好的選擇是在內存管理功能中維護分配的指針表。
釋放內存時不要忘記刪除條目。
這聽起來很瘋狂,
您需要在列表/結構中維護自定義malloc()函數分配的指針。 然后,在使用自定義的free()函數時,請檢查所維護的列表/結構內部是否存在變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.