代码之家  ›  专栏  ›  技术社区  ›  erick2red

C++语言扩展

c++
  •  2
  • erick2red  · 技术社区  · 15 年前

    我已经读过FAQ了,我想这可能是个主观问题,但我需要问。 YANY知道什么(我的意思是正式的)是C++语言扩展。

    我已经看到了一些例子,比如nvdia CUDA c ext、基于Avalon事务的c++ext。

    所以重点是一个正式的定义。

    反正是泰克斯。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Rob Kennedy    15 年前

    语言扩展只是超出语言规范要求的任何东西。编译器可能会添加新功能,如特殊的“min”和“max”运算符。编译器可能会根据标准定义除零的行为,而除零是未定义的。它可能会为 main 功能。它可能是另一种语言的特性的结合,例如允许C++中的C风格可变大小的数组。它可能是指定函数调用约定的工具。

    使用语言扩展通常会使代码不可移植,因为当您将代码带到另一个操作系统、编译器甚至编译器时 版本 ,扩展可能不再可用,或者其行为可能与最初使用的不同。

        2
  •  -1
  •   Andrew Hare    15 年前

    请看 Extensible programming :

    可扩展编程是一个术语 在计算机科学中描述 计算机程序设计的风格 关注扩展 编程语言、编译器和 运行时环境。

    更重要的是 Extensible syntax 章节:

    这仅仅意味着 要编译的语言不能是 封闭的、固定的或静止的。 一定是 可以添加新关键字, 源的概念和结构 语言 .