徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

受控代碼

指数 受控代碼

受控代碼(managed code)是來自微軟公司的術語,在中國大陸較多譯為托管代碼。受控代碼以CLI虛擬機執行,如微軟的.NET Framework共通語言執行平台,其他的CLI實作有Mono和DotGNU。.

21 关系: 垃圾回收 (計算機科學)型別安全即時編譯C SharpC++編譯器编程语言直譯器DotGNU蘋果公司通用二进制通用語言運行庫通用语言架构J SharpMicrosoft WindowsMonoPowerPCVisual Basic .NETX86机器语言数组

垃圾回收 (計算機科學)

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

新!!: 受控代碼和垃圾回收 (計算機科學) · 查看更多 »

型別安全

在電腦科學中,一部分程式語言具備型別安全的性質。這個術語在不同的社群中有不同的定義,特別是正規的型別理論上的定義遠遠強過大多數的程式員的理解,但對於使用型別系統的認知,皆旨在避免必然的錯誤形式,和不良的程式行為(稱為型別錯誤)。 类型错误(type error)是错误或不期望的程序行为,由不同数据类型的差别所引起,适用于程序的常量、变量、方法(函数),如把整型(int)当作了浮点型(float)。 --用語習慣稱型別為--;--。 型別安全可以靜態方式實施,及早在編譯時期就捕捉到潛藏的錯誤;或者以動態方式,在執行時期關聯型別的資訊,並在必要時檢測即將發生的錯誤。型別安全是程式語言的性質,而不是程式所自有的。例如,有可能以型別不安全的語言,編寫出型別安全的程式。在此是以程式語言為主,而不討論以個人能力維護的型別安全。 某個行為之所以會被程式語言歸類為型別錯誤,通常是因為試圖對不適當型別的值進行運算。其分類的基本原則是:部分語言設計者和程式員的看法認為,如果所有運算不引起程式瓦解、安全上的瑕疵、或其它明顯故障,即為合理的,而不視之為一個錯誤;其他人則認為所有違背程式員意圖的,就是錯誤的,而且應該標上「不安全」。在靜態型別系統中,型別安全通常包含一個保證,所有運算式最終的值都是合理的靜態型別成員(比子型別和多態性所要求的還要更加精確細微)。 型別安全近似於所謂的記憶體安全(就是限制從記憶體的某處,將任意的位元組合複製到另一處的能力)。例如,某個語言的實作具有若干型別 t,假如存在若干適當長度的位元,且其不為 t 的正統成員。若該語言允許把那些資料複製到 t 型別的變數,那個語言就不是型別安全的,因為這些運算可將非 t 型別的值--給該變數。反過來說,若該語言型別不安全的程度,最高只到允許將任意整數用作為指標,顯然它就不是記憶體安全的。 大部分的靜態型別語言,都提供了一定程度的型別安全,而且其嚴格性更勝於記憶體的安全性。因其型別系統強迫程式員以適當的抽象資料型別定義來使用,即使對記憶體安全或任何可能的災難而言,並不需如此嚴格的要求。.

新!!: 受控代碼和型別安全 · 查看更多 »

即時編譯

即时编译(Just-in-time compilation),又译及时编译、实时编译,动态编译的一种形式,是一种提高程序运行效率的方法。通常,程序有两种运行方式:静态编译与動態直譯。静态编译的程序在执行前全部被翻译为机器码,而直譯执行的则是一句一句边运行边翻译。 即时编译器则混合了这二者,一句一句编译源代码,但是会将翻译过的代码缓存起来以降低性能损耗。相对于静态编译代码,即时编译的代码可以处理延迟绑定并增强安全性。 即时编译器有两种类型,一是字节码翻译,二是动态编译翻译。 微软的.NET Framework,还有绝大多数的Java实现,都依赖即时编译以提供高速的代码执行。Mozilla Firefox使用的JavaScript引擎SpiderMonkey也用到了JIT的技術。Ruby的第三方实现Rubinius和Python的第三方实现PyPy也都通过JIT来明显改善了解释器的性能。.

新!!: 受控代碼和即時編譯 · 查看更多 »

C Sharp

#重定向C♯.

新!!: 受控代碼和C Sharp · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: 受控代碼和C++ · 查看更多 »

編譯器

编译器(compiler),是一種電腦程式,它會將用某種程式語言寫成的原始碼(原始語言),轉換成另一種程式語言(目標語言)。 它主要的目的是將便于人编写、阅读、维护的高级计算机语言所寫作的原始碼程式,翻译为计算机能解读、运行的低阶机器语言的程序,也就是執行檔。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→ 執行檔(executables), 最後打包好的檔案就可以給電腦去判讀執行了。.

新!!: 受控代碼和編譯器 · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: 受控代碼和编程语言 · 查看更多 »

直譯器

譯器(interpreter),是一種電腦程式,能夠把高階程式語言一行一行直接轉譯執行。直譯器像是一位「中間人」,每次執行程式時都要先轉成另一種語言再作執行,因此直譯器的程式運行速度比較緩慢。它不會一次把整個程式轉譯出來,而是每轉譯一行程式敘述就立刻執行,然後再轉譯下一行,再執行,如此不停地進行下去。 直譯器的好處是它消除了編譯整個程式的負擔,程式可以拆分成多個部分來模組化,但這會讓執行時的效率打了折扣。相對地,編譯器已一次將所有原程式碼翻譯成另一種語言,如機械碼,執行時便無需再依賴編譯器或額外的程式,故而其運行速度比較快。.

新!!: 受控代碼和直譯器 · 查看更多 »

DotGNU

DotGNU計畫是GNU為了提供Microsoft.NET一份自由软件替代品的一部份。這個計畫其它的目標包含了支援非Windows平台和支援更多的中央处理器。 DotGNU主要的目標是要提供一個百分之百相容於通用语言架构的類別庫。然而矛盾的是,另外一個開放源始碼的實作,Mono提供了百分之百相容於CLS規範的類別庫並且提供了目前由微軟所釋出的商業版本.NET的類別庫。DotGNU計畫則宣稱這些由微軟所釋出的商業版本之類別庫並沒有完全遵循在ECMA所發行的CLS標準規範。.

新!!: 受控代碼和DotGNU · 查看更多 »

蘋果公司

蘋果公司(Apple Inc.,,),原稱蘋果电脑公司(Apple Computer, Inc.),是总部位于美国加州庫比蒂諾的跨國。公司最初由史蒂夫·賈伯斯、史蒂夫·沃茲尼克、罗纳德·韦恩创立于1976年4月1日,次年1月3日確定正式名稱為苹果电脑公司,主業是开发和销售个人计算机,至2007年1月9日在舊金山上宣佈改名为苹果公司,宣佈其业务重点转向消费电子领域。現時的業務包括设计、开发和销售消费电子、计算机软件、在线服务和个人计算机。 苹果的Apple II在1970年代助长了个人电脑革命,其後的Macintosh接力於1980年代持续发展。该公司最著名的硬件产品是Mac电脑系列、iPod媒体播放器、iPhone智慧型手机和iPad平板电脑;在线服务包括iCloud、iTunes Store和App Store;消费软件包括macOS和iOS操作系统、iTunes多媒体浏览器、Safari网络浏览器,还有iLife和iWork创意和生产力套件。在2017年時苹果公司曾位列財星全球500大企業的第9名,《财富杂志》曾提名苹果公司为美国2008年最受尊敬的公司、2008年到2012年世界最受尊敬公司,《福布斯》2015年发布的全球品牌价值榜,苹果公司连续第五年雄踞榜首,其价值曾是地球上其他任何品牌的两倍以上。但是,苹果公司在其产业链中的劳工制度、环境和商业实践中至今仍然飽受抨擊。 至2017年7月,苹果公司拥有21个国家的497间零售商店,还有线上苹果商店、iTunes商店。iTunes商店是世界最大音乐零售商。苹果公司是市值最高的公共交易公司,到2014年6月大约拥有市值6000亿美元,到同年11月更是歷史上首家突破7000億美元的公司。截至2012年9月29日,苹果公司全球拥有永久全职员工72800名,临时全职员工3300名。2013年全球总收入1709亿美元。截至2014年1季度,苹果公司五年平均增长率销售额39%,利润率45%。2013年5月苹果公司首次进入财富500强公司名单前10名,比2012年上升11位,位列第6名。.

新!!: 受控代碼和蘋果公司 · 查看更多 »

通用二进制

通用二进制(Universal binary)是苹果电脑公司提出的一种程序代码,使程序能以本地程序的形式运行在使用PowerPC或者英特尔微处理器(x86)的麦金塔电脑上,在同一个程序包中同时为两种架构提供最理想的性能。硬件方面,苹果电脑公司已经将其产品线上的所有麦金塔电脑在2006年内转为英特尔处理器,相对应的软件方面,苹果最早是在2005年蘋果電腦全球研發者大會上就发布了通用二进制的内容来适应这种转换。 当程序在操作系统中运行后,将自动检测通用二进制代码,然后根据使用的架构自动选择合适的代码来执行,因此实现无损的本地程序运行速度。.

新!!: 受控代碼和通用二进制 · 查看更多 »

通用語言運行庫

通用語言執行平台(Common Language Runtime,簡稱CLR)是微軟為他們的.NET的虛擬機器所選用的名稱。它是微軟對通用语言架构(CLI)的實作版本,它定義了一個程式碼執行的環境。CLR執行一種稱為通用中间语言的字节码,這個是微軟的通用中间语言實作版本。 CLR執行在微軟的視窗作業系統上。檢視通用语言架构可以找到該規格的實作版本列表。其中有一些版本是執行在非Windows的作業系統中。.

新!!: 受控代碼和通用語言運行庫 · 查看更多 »

通用语言架构

通用语言基础架构(Common Language Infrastructure,簡稱CLI)是一个开放的技术规范。它是由微软联合惠普以及英特尔于2000年向ECMA倡议的。通用语言基础架构定义了构成.NET Framework基础结构的可执行码以及代码的运行时环境的规范,它定义了一个语言无关的跨体系结构的运行环境,这使得开发者可以用规范内定义的各种高级语言来开发软件,并且无需修正即可将软件运行在不同的计算机体系结构上。國際標準CLI定義在ISO/IEC 23271,最新版本在2012年修定。 通用語言運行庫(CLR)則是微軟對此標準(CLI)的實作。.

新!!: 受控代碼和通用语言架构 · 查看更多 »

J Sharp

#重定向J♯.

新!!: 受控代碼和J Sharp · 查看更多 »

Microsoft Windows

Microsoft Windows(中文有时譯作微軟--,通常不做翻译)是微軟公司推出的一系列操作系统。它問世於1985年,起初是MS-DOS之下的桌面環境,其後續版本逐漸發展成為主要为個人電腦和服务器用户設計的操作系統,并最终获得了世界个人电脑操作系統的垄断地位。此操作系統可以在几种不同类型的平台上运行,如个人电脑(PC)、移动裝置、服务器(Server)和嵌入式系統等等,其中在个人电脑的领域应用内最为普遍。在2004年國際數據資訊公司一次有关未来发展趋势的会议上,副董事长Avneesh Saxena宣布Windows拥有终端操作系统大约70%的市场份额 www.linuxworld.com.au。 Windows操作系統目前最新的穩定版是於2015年7月29日發佈的 Windows 10。Windows Server目前最新的穩定版是2016年9月26日發佈的Windows Server 2016。.

新!!: 受控代碼和Microsoft Windows · 查看更多 »

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 · 查看更多 »

PowerPC

PowerPC(,有時簡稱PPC)是一種精簡指令集(RISC)架構的中央處理器(CPU),其基本的設計源自IBM的POWER(Performance Optimized With Enhanced RISC;《IBM Connect電子報》2007年8月號譯為「增強RISC性能優化」)架構。POWER是1991年,Apple、IBM、Motorola組成的AIM联盟所發展出的微處理器架構。PowerPC是整个AIM联盟平台的一部分,并且是到目前为止唯一的一部分。但蘋果電腦自2005年起,將旗下電腦產品轉用Intel CPU。 PowerPC的历史可以追溯到早在1990年随RISC System/6000一起被介绍的IBM POWER架構。该设计是从早期的RISC架构(比如IBM 801)与MIPS架构的处理器得到灵感的。 1990年代,IBM、Apple和Motorola开发PowerPC晶片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。第一代PowerPC采用0.6微米製程,電晶體达到单芯片300万个。 1998年,铜芯片问世,开创了一个新的历史纪元。 2000年,IBM开始大批推出采用铜芯片的产品,如RS/6000的X80系列产品。铜製程取代了已经沿用了30年的铝製程,使矽芯片多CPU的生产工艺达到了0.2微米的水平,单芯片整合了2亿个電晶体,大大提高了运算性能;而1.8V的低电压操作(原为2.5V)大大降低了芯片的耗能,容易散热,从而大大提高了系统的稳定性。 2005年10月,IBM发布System p5产品线,采用基于POWER5处理器的增强版——POWER5+处理器,提供一系列更优化功能。产品一经推出,就打破15项计算领域的世界纪录。新的POWER5+处理器被称为“片上服务器”(server on a chip),它包括2个处理器,一个高带宽系统交换器,一个更大高速缓存和I/O界面。最新的POWER5+有1.5和1.9GHz两个主频选择,最大72MB板上高速缓存,支持逻辑分区技术,可使System p5为用户提供更强大性能,而占用面积更小。.

新!!: 受控代碼和PowerPC · 查看更多 »

Visual Basic .NET

Visual Basic.NET(VB.NET)是.NET Framework框架下的一种多重编程范式高级语言。 VB.NET,是微软公司于2002年作为原有的Visual Basic的继承者而推出。虽然自2005年起,语言名称中的“.NET”就已经被去掉了。但为了与VB 6.0及以前版本的Visual Basic进行区分,“Visual Basic.NET”的名字仍然被社会公众用来指代VB 7.0及以后的Visual Basic。VB.NET与C#同为.Net Framework框架下两种主要的程序设计语言,都是为了调.Net Framework的类库资源,因此两种语言具有很高的对应性,数据类型、控制结构与语言特性都存在一一对应,容易把源代码从一种语言对译为另一种语言。 微软公司的集成开发环境Visual Studio是最为广泛使用的VB.NET开发工具。然而Visual Studio的大部分版本都是价格不菲的商业软件,除了Express版本和Visual Studio Community(以上两者皆为免费软件)。除了Visual Studio,SharpDevelop和Mono也是可用的VB.NET开发环境。.

新!!: 受控代碼和Visual Basic .NET · 查看更多 »

X86

x86泛指一系列由英特爾公司開發處理器的架構,這類處理器最早為1978年面市的「Intel 8086」CPU。 該系列較早期的處理器名稱是以數字來表示80x86。由於以“86”作為結尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構被稱為“x86”。由於數字並不能作為註冊商標,因此Intel及其競爭者均在新一代處理器使用可註冊的名稱,如Pentium。現時英特爾將其稱為IA-32,全名為“Intel Architecture, 32-bit”,一般情形下指代32位元的架構。.

新!!: 受控代碼和X86 · 查看更多 »

机器语言

机器语言(machine language)是一種指令集的體--。这种指令集称为機器碼(machine code),是電腦的CPU可直接解讀的資料。 機器碼有時也被稱為原生碼(Native Code),這個名詞比較強調某種程式語言或函式庫與執行平台相關的部份。.

新!!: 受控代碼和机器语言 · 查看更多 »

数组

在計算機科學中,陣列資料結構(array data structure),簡稱数组(Array),是由相同类型的元素(element)的集合所組成的資料結構,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素對應的儲存地址。 最簡單的資料結構類型是一維陣列。例如,索引為0到9的32位元整數陣列,可作為在記憶體位址2000,2004,2008,...2036中,儲存10個變量,因此索引為i的元素即在記憶體中的2000+4×i位址。陣列第一個元素的記憶體位址稱為第一位址或基礎位址。 二维数组,对应于數學上的矩陣概念,可表示為二維矩形格。例如: a.

新!!: 受控代碼和数组 · 查看更多 »

重定向到这里:

托管代码

传出传入
嘿!我们在Facebook上吧! »