国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

模擬實現C語言中的內存管理

2020-05-23 14:16:33
字體:
來源:轉載
供稿:網友

這篇文章主要內容是模擬C語言中的內存管理,需要的朋友可以參考下

這里模擬了C語言中的內存管理,當我們要創建或者使用一個對象時,那么這個對象會調用retain方法,計數+1,當我們要釋放對象,我們會調用free,這里注意要對計數記性判斷,如果是0的話,那么就會銷毀。

 

 
  1. #import <Foundation/Foundation.h>  
  2. int cnt = 0;  
  3.  
  4. void fun (charchar * p)  
  5. {  
  6. printf("%c/n",p[0]);  
  7. }  
  8.  
  9. charchar * retain1(charchar * p)  
  10. {  
  11. //retain(p);  
  12. cnt ++;  
  13. return p;  
  14. }  
  15.  
  16. void dealloc1(charchar *p)  
  17. {  
  18. free(p);  
  19. }  
  20.  
  21. void release(charchar * p)  
  22. {  
  23. cnt--;  
  24. if (cnt == 0) {  
  25. //free(p);  
  26. dealloc1(p);  
  27. }  
  28. }  
  29.  
  30. int main(int argc, const charchar * argv[])  
  31. {  
  32.  
  33. @autoreleasepool {  
  34. charchar * p = (charchar *)malloc(1000);  
  35. p[0] = 'a';  
  36. p[1] = 'b';  
  37. charchar * q = p;  
  38. //提前釋放  
  39. //free(p);  
  40. //printf("%c/n",p[0]);  
  41. free(q);  
  42. //free(q);  
  43.  
  44. }  
  45. return 0;  

以上就是模擬C語言中內存管理的實現代碼,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜丰县| 山丹县| 仪陇县| 南华县| 龙陵县| 天津市| 右玉县| 永城市| 霍邱县| 县级市| 大安市| 蒙自县| 报价| 横峰县| 华亭县| 万安县| 瑞金市| 根河市| 永寿县| 景东| 常宁市| 汽车| 犍为县| 铁岭县| 锡林浩特市| 建昌县| 丽江市| 米脂县| 沂南县| 鄂温| 寿阳县| 高安市| 东山县| 烟台市| 北安市| 鄄城县| 长寿区| 鄂尔多斯市| 文登市| 宾阳县| 靖西县|