目录
18 关系: 微软,Borland,C++,C语言,类型双关,DEC Alpha,D語言,GNU,IBM,MIPS架構,Offsetof,Pascal (programming language),PL/I,RISC,SSE2,汇编语言,数组步长,总线错误。
- 编译原理
微软
微軟(Microsoft;)是美國一家跨國電腦科技公司,以研發、製造、授權和提供廣泛的電腦軟件服務為主。總部位於美國华盛顿州的雷德蒙德,最為著名和暢銷的產品為Microsoft Windows操作系统和Microsoft Office辦公室軟件,以及Xbox的遊戲業務。微軟是美国《财富》杂志2015年评选的的排行榜中的第95名。 公司於1975年由比爾‧蓋茲和保羅·艾倫創立。初期主要為Altair 8800發展和銷售BASIC直譯器,在1980年代中期憑藉MS-DOS在家用電腦作業系統市場上取得長足進步,後來出現的Windows使得微軟逐漸統治了家用桌面電腦作業系統市場。同時微軟也開始擴張業務,進軍其他行業和市場,建立了MSN網站,在計算機硬件市場上,微軟商標及Xbox遊戲機、Zune和MSN TV家庭娛樂設備也在不同的年份出現在市場上。微軟於1986年首次公開募股,此後不斷走高的股價為微軟締造了四位億萬富翁和12,000位百萬富翁。 伴隨公司的強大,微軟也越來越受到批評和指責,並且數十年來從未間斷。拒絕交易和捆綁銷售等做法招致垄断和不正當競爭的訴訟。美国司法部和歐盟委員會根據反托拉斯法均對微軟做出過不利裁定美国司法部网页。.
查看 数据结构对齐和微软
Borland
Borland软件公司(有译宝蓝公司或寶蘭公司,Borland Software Corporation,NASDAQ:),是一家总部位于美国加利福尼亚州的软件公司,以提供软件开发生命周期所需的各种工具,以及已经变成今天的Delphi的Turbo Pascal而闻名于世。2009年5月6日,Micro Focus宣布以7500万美元收购Borland。.
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是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于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语言
类型双关
类型双关是计算机科学的术语,指任何编程技术能颠覆或者绕过一门程序设计语言的類型系統,以达成在形式语言内部难以甚至不可能实现的效果。 C语言与C++语言,语法结构如类型转换与union,以及C++增加的reinterpret_cast运算符,用于实现类型双关。 Pascal语言使用records与variants来按照多种方法处理特定数据类型。.
查看 数据结构对齐和类型双关
DEC Alpha
DEC Alpha,也称为Alpha AXP,是由迪吉多公司開發的64位RISC指令集架構微处理器。最初由DEC公司制造,并被用于DEC自己的工作站和服务器中。作为VAX的后续被开发,支援VMS操作系统,如Digital UNIX。不久之后开放源代码的操作系统也可以在其上运行,如Linux和BSD。Microsoft Windows支持这款处理器,直到Windows NT 4.0 SP6,但是从Windows 2000 beta3开始放弃了对Alpha的支援。 1998年,随着DEC被一起卖给康柏。2001年,被康柏卖给Intel。同年,惠普收购康柏,继续开发基于Alpha处理器的产品到2004年。 2011年,部署在中国超级计算济南中心的神威蓝光超级计算机曝光,其采用了据称是自主知识产权的神威蓝光SW-1600处理器。根据网络资料,神威蓝光处理器基于专利已经过期的DEC ALPHA 21164A EV-56架构,单CPU中集成了16个核心,主频975MHz到1.2GHz,浮点数计算峰值性能140.8GFlops@1.1GHz,集成了DDR3内存控制器,并支持16GB内存。.
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語言
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
IBM
国际商业机器股份有限公司(International Business Machines Corporation,首字母縮略字:IBM,曾译万国商用机器公司)是美國一家跨國科技公司及諮詢公司,總部位於紐約州阿蒙克市。IBM主要客户是政府和企业。IBM生产并销售计算机硬件及软件,并且为系统架构和网络托管提供咨询服务。截止2013年,IBM已在全球拥有12个研究实验室和大量的软件开发基地。IBM雖然是一家商業公司,但在材料、化学、物理等科学领域卻也有很高的成就,利用這些學術研究為基礎,发明很多产品。比较有名的IBM发明的产品包括硬盘、自動櫃員機、通用产品代码、SQL、关系数据库管理系统、DRAM及沃森。.
查看 数据结构对齐和IBM
MIPS架構
MIPS架構(MIPS architecture,為Microprocessor without Interlocked Pipeline Stages的縮寫,亦為Millions of Instructions Per Second的頭字語),是一種採取精簡指令集(RISC)的處理器架構,1981年出現,由MIPS科技公司開發並授權,廣泛被使用在許多電子產品、網路設備、個人娛樂裝置與商業裝置上。最早的MIPS架構是32位元,最新的版本已經變成64位元。.
Offsetof
C语言的offsetof()宏,是定义在stddef.h。用于求出一个struct或union数据类型的给定成员的size_t类型的字节偏移值。offsetof()宏有两个参数,分别是结构名与结构内的成员名。不能声明为C原型。.
Pascal (programming language)
#重定向 Pascal (程式語言).
查看 数据结构对齐和Pascal (programming language)
PL/I
PL/I(),源自第一編程語言(Programming Language One的縮寫),一種程序式、指令式程式語言。由IBM公司在1950年代发明的第三代高级编程语言,用于IBM的MVS、或迪吉多的VAX/VMS等操作系统中。 在系统软件,图像,仿真,文字处理,网络,商业软件等领域均可应用。 有些类似PASCAL语言。.
查看 数据结构对齐和PL/I
RISC
#重定向 精简指令集.
查看 数据结构对齐和RISC
SSE2
SSE2,全名為Streaming SIMD Extensions 2,是一種IA-32架構的SIMD(單一指令多重資料)指令集。SSE2是在 2001年隨著Intel發表第一代Pentium 4處理器也一併推出的指令集。它延伸較早的SSE指令集,而且可以完全取代MMX指令集。在2004年,Intel 再度擴展了SSE2指令為 SSE3 指令集。與 70 條指令的 SSE 相比,SSE2新增了144條指令。在2003年,AMD也在發布AMD64的64位元處理器時跟進SSE2指令集。.
查看 数据结构对齐和SSE2
汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。 使用汇编语言编写的源代码,然后通过相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。 汇编语言使用助记符(Mnemonics)来代替和表示特定低级机器语言的操作。特定的汇编目标指令集可能会包括特定的操作数。许多汇编程序可以识别代表地址和常量的标签(Label)和符号(Symbols),这样就可以用字符来代表操作数而无需采取写死的方式。普遍地说,每一种特定的汇编语言和其特定的机器语言指令集是一一对应的。 许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编寫工具经常会提供巨集,它们也被称为--汇编器。 现在汇编语言已不像其他大多數的程序設計語言一樣被廣泛用于程序設計,在今天的實際應用中,它通常被應用在底層硬件操作和高要求的程序優化的场合。驅動程序、嵌入式操作系統和實時運行程序都会需要組合語言。.
查看 数据结构对齐和汇编语言
数组步长
数组步长(stride of an array,也称increment, pitch或step size)是程序设计时,相邻数组元素在内存中的开始地址的距离,度量单位可以是字节或者数组元素个数。步长不可小于数组元素的尺寸,但可以大于,表示有填充的字节。 数组步长如果等于数组元素的尺寸,则数组在内存中是连续的。这可称为单位步长(unit stride)。非单位步长适用于二维数组或多维数组,.
查看 数据结构对齐和数组步长
总线错误
在计算机领域,总线错误(bus error)是一种硬件,为通知操作系统一个进程正尝试访问CPU无法访问的物理地址,即一个无效的位址匯流排地址,它由此得名。在现代的大多数架构中,这比記憶體區段錯誤(段错误)更罕见,而那主要由于内存访问冲突所造成:即逻辑地址或权限的问题。 在POSIX兼容平台上,总线错误通常导致发送SIGBUS信号到导致错误的进程。SIGBUS也可能因计算机检测到的任何常规设备故障引发。总线错误很少代表硬件存在物理损坏,而通常是因程序源代码中的程序错误引起。总线错误也可能因其他某些分页错误引发,见下文。.
查看 数据结构对齐和总线错误