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

名字修饰

指数 名字修饰

名字修饰,又译作名字粉碎、名字重整,译自英文name mangling或name decoration,是现代计算机程序设计语言的编译器用于解决由于程序实体的名字必须唯一而导致的问题的一种技术。 它提供了在函数、结构体、类或其它的数据类型的名字中编码附加信息一种方法,用于从编译器中向链接器传递更多语义信息。 该需求产生于程序设计语言允许不同的条目使用相同的标识符,包括它们占据不同的命名空间(典型的命名空间是由一个模块、一个类或显式的namespace指示来定义的)或者有不同的签名(例如函数重载)。 任何由编译器产生的目标代码通常与另一部分的目标代码(产生于同一款或不同款的编译器)通过链接器把它们链接起来。链接器需要一大堆每个程序实体信息。例如正确链接一个函数需要它的名字、参数个数和它们的类型,等等。.

41 关系: AIX动态链接库子程序应用二进制接口应用程序接口异常处理命名空间函数重载克雷公司Boost C++ LibrariesC++C♯C语言硅谷图形公司类 (计算机科学)編譯器结构体 (C语言)编程语言目标代码DelphiD語言调用约定运算符重载链接器英特尔FortranFree PascalGCCGNUHP-UXIRIXJava类加载器Java本地接口LAPACKMicrosoft Visual C++Pascal (程式語言)Python语言Visual C++名字修饰模組 (程式設計)模板 (C++)標識符

AIX

#重定向 IBM AIX.

新!!: 名字修饰和AIX · 查看更多 »

动态链接库

動態連結函式庫(Dynamic-link library,缩写为DLL)是微软公司在微软视窗操作系统中实现共享函数库概念的一种實作方式。这些函式庫函数的扩展名是.DLL、.OCX(包含ActiveX控制的函式庫)或者.DRV(舊式的系统驱动程序)。 所謂動態链接,就是把一些經常會共用的程式碼(靜態链接的OBJ程式庫)製作成DLL檔,當執行檔呼叫到DLL檔內的函數時,Windows作業系統才會把DLL檔載入記憶體內,DLL檔本身的結構就是可執行檔,當程式有需求時函數才進行链接。透過動態链接方式,記憶體浪費的情形將可大幅降低。靜態連結函式庫則是直接連結到執行檔。 DLL的文件格式与视窗EXE文件一样——也就是说,等同于32位视窗的可移植执行文件(PE)和16位视窗的New Executable(NE)。作为EXE格式,DLL可以包括原始碼、数据和资源的多种组合。 在更广泛的意义上说,任何同样檔案格式的電腦檔案都可以称作资源DLL。这样的DLL的例子有扩展名为ICL的图标函式庫、扩展名为FON和FOT的字型檔案。.

新!!: 名字修饰和动态链接库 · 查看更多 »

子程序

在计算机科学中,子程式(Unterprogramm, Subroutine, procedure, function, routine, method, subprogram, callable unit),是一個大型程式中的某部份程式碼,由一个或多个语句块组成。它負責完成某項特定--,而且相較於其他程式碼,具備相對的獨立性。 一般会有输入参数并有--,提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。 函数在-zh:程序導向;zh-tw:程序導向;zh-cn:面向过程-的语言中已经出现。是结构(Struct)和-zh:類別;zh-tw:類別;zh-cn:类-(Class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。.

新!!: 名字修饰和子程序 · 查看更多 »

应用二进制接口

在軟體開發中,應用程式機器二元碼界面(application binary interface,縮寫為 ABI)是指兩程式模組間的界面;通常其中一個程式模組會是函式庫或作業系統所提供的服務,而另一邊的模組則是使用者所執行的程式。一個ABI定義了機器碼如何存取資料結構與運算程序,此處所定義的界面相當低階並且相依於硬體。而類似概念的''API''則在原始碼定義這些,則較為高階,並不直接相依於硬體,通常會是人類可閱讀的程式碼。一個ABI常見的樣貌即是調用約定(calling convention):資料怎麼成為計算程序的輸入或者從中得到輸出;x86的調用約定(X86调用约定)即是一個ABI的例子。決定要不要採取既定的ABI(不論是否由官方提供),通常由編譯器,作業系統或函式庫的開發者來決定;然而,如果撰寫一個混和多個程式語言的應用程式,就必須直接處理ABI,採用外部函式呼叫(Foreign function interface)來達成此目的。.

新!!: 名字修饰和应用二进制接口 · 查看更多 »

应用程序接口

应用程序接口(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。.

新!!: 名字修饰和应用程序接口 · 查看更多 »

异常处理

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。 各种编程语言在处理异常方面具有非常显著的不同点(错误检测与异常处理区别在于:错误检测是在正常的程序流中,处理不可预见问题的代码,例如一个调用操作未能成功结束)。某些编程语言有这样的函数:当输入存在非法数据时不能被安全地调用,或者返回值不能与异常进行有效的区别。例如,C语言中的atoi函数(ASCII串到整数的转换)在输入非法时可以返回0。在这种情况下编程者需要另外进行错误检测(可能通过某些辅助全局变量如C的errno),或进行输入检验(如通过正则表达式),或者共同使用这两种方法。 通过异常处理,我们可以对用户在程序中的非法输入进行控制和提示,以防程序崩溃。 从进程的视角,硬件中断相当于可恢复异常,虽然中断一般与程序流本身无关。 从子程序编程者的视角,异常是很有用的一种机制,用于通知外界该子程序不能正常执行。如输入的数据无效(例如除数是0),或所需资源不可用(例如文件丢失)。如果系统没有异常机制,则编程者需要用返回值来标示发生了哪些错误。.

新!!: 名字修饰和异常处理 · 查看更多 »

命名空间

命名空间(Namespace,名前空間),也称名字空间、名称空间等,它表示着一个标识符(identifier)的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其他命名空间中。 例如,设Bill是X公司的员工,工号为123,而John是Y公司的员工,工号也是123。由于两人在不同的公司工作,可以使用相同的工号来标识而不会造成混乱,这里每个公司就表示一个独立的命名空间。如果两人在同一家公司工作,其工号就不能相同了,否则在支付工资时便会发生混乱。 这一特点是使用命名空间的主要理由。在大型的计算机程序或文档中,往往会出现数百或数千个标识符。命名空间(或类似的方法,见“命名空间的模拟”一节)提供一隱藏區域標識符的機制。通过将逻辑上相关的标识符组织成相应的命名空间,可使整个系统更加模块化。 在编程语言中,命名空间是对作用域的一种特殊的抽象,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++和Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间树,树根则是无名的全局命名空间。 函数和类的作用域可被視作隱式命名空间,它們和可見性、可訪問性和对象生命周期不可分割的联系在一起。.

新!!: 名字修饰和命名空间 · 查看更多 »

函数重载

函数重载(英語:Function overloading),是Ada、C++、C#、D和Java等编程语言中具有的一项特性,这项特性允许创建数项名称相同但功能的输入输出类型不同的子程序,它可以简单地称为一个单独功能可以执行多项任务的能力。.

新!!: 名字修饰和函数重载 · 查看更多 »

克雷公司

-- 克雷(Cray Inc.)是美國的超級電腦製造商和銷售商,總部位於華盛頓州西雅圖。公司的前身是1972年由計算機設計師希穆爾·克雷(:en:Seymour Cray)創立的克雷研究(Cray Research, Inc,縮寫:CRI)。1989年希穆爾·克雷將克雷研究拆分出克雷電腦公司(Cray Computer Corporation,縮寫:CCC),後來該公司在克雷研究被-zh-cn:硅谷图形公司;zh-hk:矽谷圖形公司;zh-tw:視算科技;-併購後的一年後,亦即1995年破產。目前的克雷公司成立於2000年,在Tera Computer Company從-zh-cn:硅谷图形公司;zh-hk:矽谷圖形公司;zh-tw:視算科技;-手上買下前克雷研究的資產業務後成立。在目前的克雷公司成立前,總部也已遷移數次。.

新!!: 名字修饰和克雷公司 · 查看更多 »

Boost C++ Libraries

Boost C++ 函式庫(Libraries)是一組擴充C++功能的經過同行評審(Peer-reviewed)且開放源碼程式庫。大多數的函式為了能夠以開放源碼、封閉專案的方式運作,而授權於Boost軟體授權條款(Boost Software License)之下。許多Boost的開發人員是來自C++標準委員會,而部份的Boost函式庫成為C++的TR1標準之一。 為了要確保函式庫的效率與彈性,Boost廣泛的使用模板(template)功能。而它是針對各式領域的C++使用者與應用領域(Application Domain)上,包含的函式庫類別從像這種類通用函式庫,到像是檔案系統的作業系統抽象層,甚至能夠利用Boost來開發額外的函式庫或是給進階的C++使用者利用,像是。.

新!!: 名字修饰和Boost C++ Libraries · 查看更多 »

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

C♯

C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。C#已经成为Ecma国际和国际标准组织的标准规范。.

新!!: 名字修饰和C♯ · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: 名字修饰和C语言 · 查看更多 »

硅谷图形公司

硅谷图形公司(英语:Silicon Graphics, Inc.,简称:SGI,),在台灣早年譯為--、視算電腦,是一家美國電腦公司,1982年开始生产图形显示终端。是由吉姆·克拉克和创建。初期,公司基于吉姆·克拉克在几何流水线领域的工作生产加速3D图形显示的专门硬件和软件。SGI最初于1981年11月在美国加州创立,并在1990年1月作为Delaware corporation重建。2006年3月8日,SGI申请破产保护。2009年4月1日,服务器与存储技术公司Rackable Systems宣布计划以大约2500万美元现金收购SGI剩余资产,同时还将承担其部分债务。 2016年8月11日,慧與科技(HPE, Hewlett Packard Enterprise)宣布以每股美金7.75, 合共2億7仟5百萬美金, 收購SGI所有股權, 當中包括其所持現金與承担其所有債項。.

新!!: 名字修饰和硅谷图形公司 · 查看更多 »

类 (计算机科学)

在物件導向程式設計,类(class)是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的和方法。 类的更严格的定义是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。 支持类的编程语言在支持与类相关的各种特性方面都多多少少有一些微妙的差异。大多数都支持不同形式的类继承。许多语言还支持提供封装性的特性,比如访问修饰符。类的出现,为面向对象编程的三个最重要的特性(封装性、继承性、多态性),提供了实现的手段。.

新!!: 名字修饰和类 (计算机科学) · 查看更多 »

編譯器

编译器(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), 最後打包好的檔案就可以給電腦去判讀執行了。.

新!!: 名字修饰和編譯器 · 查看更多 »

结构体 (C语言)

在C语言中,结构体(struct)指的是一种数据结构,是C语言中复合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。.

新!!: 名字修饰和结构体 (C语言) · 查看更多 »

编程语言

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

新!!: 名字修饰和编程语言 · 查看更多 »

目标代码

标代码(object code)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。目标文件(object file)即存放目标代码的计算机文件,它常被称作二进制文件(binaries)。 目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信息。目标文件是从源代码文件产生程序文件这一过程的中间产物,链接器正是通过把目标文件链接在一起来生成可执行文件或库文件。目标文件中唯一的要素是机器代码,例如,用于嵌入式系统的目标文件可能仅仅含有机器代码。.

新!!: 名字修饰和目标代码 · 查看更多 »

Delphi

Delphi,是Windows平台下著名的快速應用程式開發(Rapid Application Development,简称RAD)。它的前身,即是DOS時代盛行一時的「Borland Turbo Pascal」,最早的版本由美国Borland(宝兰)公司於1995年开发。主创者為安德斯·海尔斯伯格。經過數年的發展,此產品也轉移至Embarcadero公司旗下。 从产品名称上就可以知道,Turbo Pascal使用的是Pascal语言。从Turbo Pascal 5.5版开始,Borland公司在传统Pascal的基础上加入了物件導向的功能。 Delphi是一个整合開發環境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面(Graphical User Interface,简称GUI)为开发环境,透過IDE、VCL工具與編譯器,配合連結資料庫的功能,構成一個以物件導向程式設計為中心的應用程式開發工具。Delphi所編譯的可執行檔,雖然容量較大,但因為產生的是真正的原生機器碼,效能上比較快速。除了使用資料庫的程式之外,不需安裝即可執行,在使用上相當方便。 Delphi在本质上應該歸類為軟體開發工具,而並非是程式语言,但由于Delphi几乎是目前市场上唯一使用Pascal,並持續推出新版本的商业产品。因此,有時人们會把Delphi視為Object Pascal的代名词。Borland公司因而把Object Pascal改称为Delphi。2006年,Borland把开发工具产品线独立出来,成立了一家新的公司CodeGear,並把產品線交由此公司负责。原本的Delphi,亦曾一度因此被命名为Turbo Delphi。但是在新的版本中,除了Delphi for Win32(原有的Delphi版本)之外,还有一个新产品「Delphi for PHP」。在CodeGear的发展规划中,或许“Delphi”不再是Object Pascal的专屬IDE名稱,而是将之提升到通用IDE品牌的層次。2008年5月7日,Embarcadero Technologies(易博龙)公司宣布以2300万美元的价格收购CodeGear公司,从而把Delphi收入囊中。2009年5月6日,Micro Focus宣布以7500万美元收购Borland。 Delphi目前的最新版本是Delphi 10.2 Tokyo。.

新!!: 名字修饰和Delphi · 查看更多 »

D語言

D語言是一种程式語言,具备多範型,例如物件導向、指令式。由沃尔特·布莱特和安德烈·亞歷山德雷斯庫所開發,起源自C++,深受C++的影響,然而其不是C++的变种,而是重新设计来自C++的部分特性,并受到其它程式語言觀念的影響,如Java、C#以及Eiffel。2007年1月2日釋出1.0穩定版本。版本2.0釋出於2007年1月17日。 Walter Bright本身是Symantec C++ 編譯器的作者;另一名作者Andrei Alexandrescu是Facebook的研究科学家,他与一个团队用D语言重写一些Facebook的重要操作。.

新!!: 名字修饰和D語言 · 查看更多 »

调用约定

在计算机科学中, 调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于:.

新!!: 名字修饰和调用约定 · 查看更多 »

运算符重载

在计算机程序设计中,运算符重载是多态的一种。这里,运算符(比如+,.

新!!: 名字修饰和运算符重载 · 查看更多 »

链接器

链接器(Linker),又譯為鏈結器、連結器,是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件。 在IBM大型主机比如OS/360上,链接器是linkage editor;在Unix-like系統上常用的链接器是。目标文件是包括机器码和链接器可用信息的程序模块。简单的讲,链接器的工作就是解析未定义的符号引用,将目标文件中的占位符替换为符号的地址。链接器还要完成程序中各目标文件的地址空间的组织,这可能涉及重定位工作。 大多数现代操作系统都提供静态链接和动态链接两种形式。.

新!!: 名字修饰和链接器 · 查看更多 »

英特尔

英特爾公司(Intel Corporation,、)是世界上最大的半導體公司,也是第一家推出x86架構處理器的公司,總部位於美國加利福尼亞州聖克拉拉。由羅伯特·諾伊斯、高登·摩爾、安迪·葛洛夫,以“集成電子”(Integrated Electronics)之名在1968年7月18日共同創辦公司,將高階晶片設計能力與領導業界的製造能力結合在一起。英特爾也有開發主機板晶片組、網路卡、快閃記憶體、繪圖晶片、嵌入式處理器,與對通訊與運算相關的產品等。“Intel Inside”的廣告標語與Pentium系列處理器在1990年代間非常成功的打響英特爾的品牌名號。 英特爾早期在開發SRAM與DRAM的記憶體晶片,在1990年代之前這些記憶體晶片是英特爾的主要業務。在1990年代時,英特爾做了相當大的投資在新的微處理器設計上與培養快速崛起的PC工業。在這段期間英特爾成為PC微處理器的供應領導者,而且市場定位具有相當大的攻勢與有時令人爭議的行銷策略,就像是微軟公司一樣支配著PC工業的發展方向。而Millward Brown Optimor發表的2007年在世界上最強大的品牌排名顯示出英特爾的品牌價值由第15名掉落了10個名次到第25名。 而主要競爭對手有AMD、NVIDIA及Samsung。.

新!!: 名字修饰和英特尔 · 查看更多 »

Fortran

福傳(Fortran),源自於「公式翻译」(Formula Translation)的縮寫,是一種程式語言。1957年由IBM開發出,是世界上第一个被正式采用並流传至今的高级编程語言。.

新!!: 名字修饰和Fortran · 查看更多 »

Free Pascal

Free Pascal (简称 FPC,原名为 FPK Pascal),是一个支持16位,32位和64位处理器的专业 Pascal 语言编译器,支持多种处理器架构,包括:Intel x86(也支持8086)、AMD64/x86-64、PowerPC及其64位架构、SPARC、ARM、AArch64、MIPS 以及 JVM。Free Pascal 支持多种操作系统,包括:GNU/Linux、FreeBSD、Haiku、Mac OS X/iOS/Darwin、DOS、Win32/64、WinCE、OS/2、MorphOS、Nintendo GBA、Nintendo DS、Nintendo Wii、Android、AIX and AROS,对 Motorola 68k 的支持也在开发中。 Free Pascal 是自由软件,软件包和运行时库发布在GNU宽通用公共许可证下,允许其他程序静态链接。编译器自身发布在GNU通用公共许可证下。编译器完全用 Pascal 语言写成。最新的版本为 3.0.4 。 Lazarus 项目建立在 Free Pascal 基础上,利用其作为编译器,提供了一个类似 Delphi 的快速应用开发(RAD)环境,与 Free Pascal一样支持多种平台,同样是自由软件。 現在,Free Pascal已經被選定為中國大陸全國青少年信息學奧林匹克聯賽(NOIP)以及中國大陸全國青少年信息學奧林匹克競賽(NOI)以及国际信息学奥林匹克(IOI)的指定Pascal編譯環境。.

新!!: 名字修饰和Free Pascal · 查看更多 »

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

GNU

GNU是一個自由的作業系統,其內容軟體完全以GPL方式釋出。這個作業系統是GNU計劃的主要目標,名稱來自GNU's Not Unix!的遞迴縮寫,因為GNU的設計類似Unix,但它不包含具著作權的Unix代碼。GNU的創始人,理察·馬修·斯托曼,將GNU視為「達成社會目的技術方法」。 作為作業系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的內核尚未被開發成功。GNU的內核,稱為Hurd,是自由軟體基金會發展的重點,但是其發展尚未成熟。在實際使用上,多半使用Linux內核、FreeBSD等替代方案,作為系統核心,其中主要的操作系統是Linux的發行版。Linux作業系統包涵了Linux內核與其他自由軟體計畫中的GNU組件和軟體,可以被稱為GNU/Linux(見GNU/Linux命名爭議)。.

新!!: 名字修饰和GNU · 查看更多 »

HP-UX

HP-UX(取自Hewlett Packard UniX)是惠普科技公司(HP, Hewlett-Packard)以System V為基礎所研發成的類UNIX作業系統。HP-UX可以在HP的PA-RISC處理器、Intel的Itanium處理器的電腦上執行,另外過去也能用於後期的阿波羅電腦(Apollo/Domain)系統上。較早版本的HP-UX也能用於HP 9000系列200型、300型、400型的電腦系統(使用Motorola的68000處理器)上,和HP-9000系列500型電腦(使用HP專屬的FOCUS處理器架構)。.

新!!: 名字修饰和HP-UX · 查看更多 »

IRIX

IRIX是由硅谷图形公司(Silicon Graphics Inc.,一般用簡稱:SGI)以System V與BSD延伸程式為基礎所發展成的UNIX作業系統,IRIX可以在SGI公司的RISC型電腦上執行,即是採行32位元、64位元MIPS架構的SGI工作站、伺服器。 2006年9月6日,SGI宣佈於同年12月起終止MIPS IRIX作業系統產品線。之後SGI電腦的作業系統改為Red Hat Enterprise Linux或SuSE Linux Enterprise Server。IRIX的支援服務持續到2013年12月為止。.

新!!: 名字修饰和IRIX · 查看更多 »

Java类加载器

Java类加载器(Java Classloader)是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载。由于有了类加载器,Java运行时系统不需要知道文件与文件系统。学习类加载器时,掌握Java的委派概念很重要。 每个Java类必须由某个类加载器装入到内存。Java程序可以利用外部库(即由其他作者编写的软件库)。 JVM中有3个默认的类加载器:.

新!!: 名字修饰和Java类加载器 · 查看更多 »

Java本地接口

在编程领域, JNI (Java Native Interface,Java本地接口)是一种编程框架,使得Java虚拟机中的Java程序可以调用本地应用/或库,也可以被其他程序调用。 本地程序一般是用其它语言(C、C++或汇编语言等)编写的, 并且被编译为基于本机硬件和操作系统的程序。.

新!!: 名字修饰和Java本地接口 · 查看更多 »

LAPACK

LAPACK,其名為Linear Algebra PACKage的縮寫,是一以Fortran程式語言寫的,用於數值計算的函式集。 LAPACK提供了豐富的工具函式,可用於諸如解多元線性方程式、線性系統方程組的最小平方解、計算特徵向量、用於計算矩陣QR分解的Householder轉換、以及奇異值分解等問題。 在亦提供了API經簡化的Fortran 95版本的LAPACK95。LAPACK以BSD授權的方法釋出。.

新!!: 名字修饰和LAPACK · 查看更多 »

Microsoft Visual C++

Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)是微軟公司的C++開發工具,具有集成开发环境,可提供編輯C語言,C++以及C++/CLI等编程語言。VC++整合了便利的除錯工具,特別是整合了微軟Windows视窗操作系统应用程序接口(Windows API)、三维動畫DirectX API,Microsoft.NET框架。目前最新的版本是Microsoft Visual C++ 2017。.

新!!: 名字修饰和Microsoft Visual C++ · 查看更多 »

Pascal (程式語言)

Pascal是一个有影响的面向对象和面向过程编程语言,由尼克劳斯·维尔特在1968年9月设计,在1970年发行,作为一个小型的和高效的语言,意图鼓励使用结构化编程和数据结构进行良好的编程实践。 称作Object Pascal的一个衍生是为面向对象编程设计的。.

新!!: 名字修饰和Pascal (程式語言) · 查看更多 »

Python语言

#重定向 Python.

新!!: 名字修饰和Python语言 · 查看更多 »

Visual C++名字修饰

Name mangling或者Decorated Name是指程序设计语言中具有存储性质的对象的名字被编译器改写,以适合编译器、链接器(linker)、汇编器(assembler)使用。所谓的具有存储性质的对象,即lvalue对象,是指要实际占用内存空间、有内存地址的那些实体对象,例如:变量(variables)、函数、函数指针等。C++中的纯虚函数作为特例也属于这一范畴。而数据类型(data type)就不属于具有存储性质的对象。Name mangling如何翻译成中文,尚无广泛接受的译法。可翻译作改名或名字修饰(name decorating)。 对于支持重载(overload)的程序设计语言,name mangling是必需的因而具有特别重要意义。C++允许函数重载 int foo(int i); void foo(char c); C++也允许变量名称在不同限定(qualifier)下同名: std::cout; 因此C++的编译器必须给这些函数及变量不同的名字以供程序编译链接、载入时的内部辨别使用。 C++的编译器可大略分为Windows平台上的Microsoft Visual C++与类Unix平台上的GNU CC/g++两大类,分别成了各自操作系统环境下的业界工业标准。例如,Windows平台上的Intel C++ Compiler(ICC)与Digital Mars C++,都与Visual C++保持了二进制兼容(Application Binary Interface, ABI)。而Linux平台上的Intel C++ Compiler(ICC)与HP aC++,都与GCC 3.x/4.x做到二进制兼容。GCC是开源产品,它的内部实现机制是公开的;而Visual C++不公开它内部实现细节,因此在name mangling上并无详尽的正式文档,Visual C++ name mangling的细节属于hacker行为。 一般情况下,编程者不需要知道C/C++函数的修饰名字。但是,如果在汇编源程序或者内联汇编中引用了C/C++函数,就必须使用其正确的修饰名字。.

新!!: 名字修饰和Visual C++名字修饰 · 查看更多 »

模組 (程式設計)

軟體模塊(Module)是一套一致而互相有緊密關連的軟體組織。它分別包含了程式和資料結構兩部份。 現代軟體開發往往利用模塊作合成的單位。 模塊的介面表達了由該模塊提供的功能和調用它時所需的元素。 模塊是可能分開地被編寫的單位。這使他們可再用和允許廣泛人員同時協作、編寫及研究不同的模塊。.

新!!: 名字修饰和模組 (程式設計) · 查看更多 »

模板 (C++)

模板(Template)指C++程序设计语言中的函数模板与类模板,是一种参数化类型机制,大体对应于java和C#中的泛型,但也有一些功能上的显著差异(C++模板支持后两者没有明确对应的模板模板参数和模板非类型参数,但不支持Java的通配符以及C#的泛型类型约束)。模板是C++的泛型编程中不可缺少的一部分。 模板是C++程序员绝佳的武器,特別是結合了多重继承与运算符重载之后。C++的标准函数库提供的许多有用的函数大多結合了模板的概念,如STL以及iostream。.

新!!: 名字修饰和模板 (C++) · 查看更多 »

標識符

標識符(英文對應詞:identifier,縮寫為ID),又稱為識別碼,是一個用來識別物件的名稱,識別對象可能是概念、具體可數的物體或是不可數的物質。標識符可能是字、編號、字母、符號,也可能是由上述元素所組成。 在编程语言中,标识符就是程序员自己规定的具有特定含义的词,比如类名称,属性名称,变量名等。.

新!!: 名字修饰和標識符 · 查看更多 »

重定向到这里:

Name mangling名字粉碎名字重整

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