我们正在努力恢复Google Play商店上的Unionpedia应用程序
传出传入
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

貝姆垃圾收集器

指数 貝姆垃圾收集器

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)。.

目录

  1. 5 关系: 垃圾回收 (計算機科學)迷途指针GCCMonoWoW64

垃圾回收 (計算機科學)

垃圾回收(Garbage Collection),在計算機科學中,縮寫為GC是一種自動的記憶體管理機制。當一個電腦上的動態記憶體不再需要時,就應該予以釋放,以讓出記憶體,這種記憶體資源管理,稱為垃圾回收。垃圾回收器可以讓程式員減輕許多負擔,也減少程式員犯錯的機會。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#和D语言都支援垃圾回收器。.

查看 貝姆垃圾收集器和垃圾回收 (計算機科學)

迷途指针

在计算机编程领域中,迷途指针,或称悬空指针、野指针,指的是不指向任何合法的对象的指针。 当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指针便称迷途指针。若操作系统将这部分已经释放的内存重新分配给另外一个进程,而原来的程序重新引用现在的迷途指针,则将产生无法预料的后果。因为此时迷途指针所指向的内存现在包含的已经完全是不同的数据。通常来说,若原来的程序继续往迷途指针所指向的内存地址写入数据,这些和原来程序不相关的数据将被损坏,进而导致不可预料的程序错误。这种类型的程序错误,不容易找到问题的原因,通常会导致記憶體區段錯誤(Linux系统中)和一般保护错误(Windows系统中)。如果操作系统的内存分配器将已经被覆盖的数据区域再分配,就可能会影响系统的稳定性。 某些编程语言允许未初始化的指针的存在,而这类指针即为野指针。野指针所导致的错误和迷途指针非常相似,但野指针的问题更容易被发现。.

查看 貝姆垃圾收集器和迷途指针

GCC

GNU编译器套裝(GNU Compiler Collection,縮寫為GCC),指一套编程語言编译器,以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,也是GNU工具链的主要組成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。 原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC在发布后很快地得到擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,Go與其他語言。 許多操作系統,包括許多类Unix系統,如Linux及BSD家族都採用GCC作為标准编译器。蘋果電腦预装的Mac OS X操作系统也採用這個編譯器。 GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式(、)。.

查看 貝姆垃圾收集器和GCC

Mono

Mono是一个由Xamarin公司(先前是Novell,最早為Ximian)所主持的自由開放源碼專案。該專案的目標是创建一系列符合ECMA标准(和)的.NET工具,包括C#编译器和通用语言架构。与微软的.NET Framework(共通語言執行平臺)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些遊戲平台,例如:Playstation 3,Wii或XBox 360。Mono的標誌是一個猴子格式的臉。 Mono现由Novell持有双重许可,这和Qt和Mozilla Application Suite的情况相似。Mono的C#编译器及其相关工具发布于GNU通用公共许可证(GPL)之下,其运行时库发布于GNU宽通用公共许可证(LGPL)之下,其类库发布于MIT許可證之下。这些均是开源协议因此Mono是一个开源软件。 微软开发了一个称为通用语言架构(Shared Source Common Language Infrastructure,Shared Source CLI;即今ECMA—通用语言架构)的可用于FreeBSD,Windows和Mac OS X.NET实现版本。微软的共享源代码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。另外,GNU也有一个.NET实现版本项目,该项目与Mono项目有着很多相同的目标。 Mono虚拟机包含一个即時編譯引擎,该引擎可用于如下处理器:x86,SPARC,PowerPC,ARM,S390(32位模式和64位模式),x86-64,IA-64和64位模式的SPARC。该虚拟机可以将代码编译为本机代码。.

查看 貝姆垃圾收集器和Mono

WoW64

WoW64(Windows 32-bit on Windows 64-bit)是Microsoft Windows操作系统的一个子系统,它提供在所有Windows 64位系统上运行32位元应用程序的能力——这包括Windows XP Professional x64 Edition、IA-64和Windows Server 2003的64位版本,以及Windows Vista、Windows Server 2008、Windows 7、Windows 8、Windows Server 2012、Windows 8.1和Windows 10的64位版本。在Windows Server 2008 R2 Server Core中它成为了可选组件,并在Nano Server中不再提供。WoW64旨在解决32位与64位Windows中的许多差异,特别是涉及到Windows本身的结构变化。.

查看 貝姆垃圾收集器和WoW64