fbpx
维基百科

貝姆垃圾收集器

Boehm-Demers-Weiser garbage collector,也就是著名的Boehm GC,是計算機應用在C/C++語言上的一個保守的垃圾回收器,可應用於許多經由C/C++開發的專案,同時也適用於其它執行環境的各類程式語言,包括了GNU版Java編譯器執行環境,以及MonoMicrosoft .NET移植平台。同時支援許多的作業平台,如各種Unix作業系統,微軟的作業系統(Microsoft Windows),以及麥金塔上的作業系統(Mac OS X),還有更進一步的功能,例如:漸進式收集(incremental collection),平行收集(parallel collection)以及終結語意的變化(variety of finalizer semantics)。

範例

垃圾收集器作用於未變性的(unmodified)C程式,只要簡單的將malloc呼叫用GC_malloc取代,將realloc取代為GC_realloc呼叫,如此一來便不需要使用到free的函式。下列的程式碼展示出如何用Boehm取代傳統的malloc以及free。.

 #include "gc.h"  #include <assert.h>  #include <stdio.h>  int main()  {  int i;  GC_INIT();  for(i = 0; i < 10000000; I)  {  int **p = (int **) GC_MALLOC(sizeof (int *));  int *q = (int *) GC_MALLOC_ATOMIC(sizeof (int));  assert(*p == 0);  *p = (int *) GC_REALLOC(q, 2 * sizeof (int));  if(i % 100000 == 0)  printf("Heap size = %d\n", GC_get_heap_size());  }  return 0;  } 

外部链接

  • 官方网站
  • SourceForge.net上的貝姆垃圾收集器
  • Git repo for BoehmGC development (页面存档备份,存于互联网档案馆
  • Transparent Programmer-Directed Garbage Collection for C++, Hans-J. Boehm and Michael Spertus (页面存档备份,存于互联网档案馆
  • Using the C/C++ Garbage Collection Library
  • Dr. Dobbs The Boehm Collector for C and C++, Gene Michael Stover, March 01, 2003 (页面存档备份,存于互联网档案馆

貝姆垃圾收集器, boehm, demers, weiser, garbage, collector, 也就是著名的boehm, 是計算機應用在c, 語言上的一個保守的垃圾回收器, 可應用於許多經由c, 開發的專案, 同時也適用於其它執行環境的各類程式語言, 包括了gnu版java編譯器執行環境, 以及mono的microsoft, net移植平台, 同時支援許多的作業平台, 如各種unix作業系統, 微軟的作業系統, microsoft, windows, 以及麥金塔上的作業系統, 還有更進一步的功能, 例如, . Boehm Demers Weiser garbage collector 也就是著名的Boehm GC 是計算機應用在C C 語言上的一個保守的垃圾回收器 可應用於許多經由C C 開發的專案 同時也適用於其它執行環境的各類程式語言 包括了GNU版Java編譯器執行環境 以及Mono的Microsoft NET移植平台 同時支援許多的作業平台 如各種Unix作業系統 微軟的作業系統 Microsoft Windows 以及麥金塔上的作業系統 Mac OS X 還有更進一步的功能 例如 漸進式收集 incremental collection 平行收集 parallel collection 以及終結語意的變化 variety of finalizer semantics 範例 编辑垃圾收集器作用於未變性的 unmodified C程式 只要簡單的將malloc呼叫用GC malloc取代 將realloc取代為GC realloc呼叫 如此一來便不需要使用到free的函式 下列的程式碼展示出如何用Boehm取代傳統的malloc以及free 1 include gc h include lt assert h gt include lt stdio h gt int main int i GC INIT for i 0 i lt 10000000 I int p int GC MALLOC sizeof int int q int GC MALLOC ATOMIC sizeof int assert p 0 p int GC REALLOC q 2 sizeof int if i 100000 0 printf Heap size d n GC get heap size return 0 外部链接 编辑 自由软件主题 官方网站 SourceForge net上的貝姆垃圾收集器 Git repo for BoehmGC development 页面存档备份 存于互联网档案馆 Transparent Programmer Directed Garbage Collection for C Hans J Boehm and Michael Spertus 页面存档备份 存于互联网档案馆 Using the C C Garbage Collection Library Dr Dobbs The Boehm Collector for C and C Gene Michael Stover March 01 2003 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 貝姆垃圾收集器 amp oldid 65676325, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。