JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C++ 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分C++ 编译器

1.  C++ 编译器

2.  使用 C++ 编译器

3.  使用 C++ 编译器选项

第 2 部分编写 C++ 程序

4.  语言扩展

4.1 链接程序作用域

4.1.1 与 Microsoft Windows 兼容

4.2 线程局部存储

4.3 用限制较少的虚函数覆盖

4.4 对 enum 类型和变量进行前向声明

4.5 使用不完整 enum 类型

4.6 将 enum 名称作为作用域限定符

4.7 使用匿名 struct 声明

4.8 传递匿名类实例的地址

4.9 将静态名称空间作用域函数声明为类友元

4.10 将预定义 __func__ 符号用于函数名

4.11 支持的属性

4.11.1 __packed__ 属性详细信息

4.12 对 Intel MMX 和扩展的 x86 平台内部函数的编译器支持

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

词汇表

索引

4.12 对 Intel MMX 和扩展的 x86 平台内部函数的编译器支持

mmintrin.h 头文件中声明的原型支持 Intel MMX 内部函数,是为了实现兼容性而提供的。

特定头文件提供了附加扩展平台内部函数的原型,如下表所示。

表 4-2 头文件

x86 平台
头文件
SSE
mmintrin.h
SSE2
xmmintrin.h
SSE3
pmmintrin.h
SSSE3
tmmintrin.h
SSE4A
ammintrin.h
SSE4.1
smmintrin.h
SSE4.2
nmmintrin.h
AES 加密和 PCLMULQDQ
wmmintrin.h
AVX
immintrin.h

表中每个头文件在其前面都包括了原型。例如,在 SSE4.1 平台上,用户程序中的包含方 smmintrin.h 声明了支持 SSE4.1、SSSE3、SSE3、SSE2、SSE 和 MMX 平台的内部函数名称,因为 smmintrin.h 包含了 tmmintrin.h,而 tmmintrin.h 包含了 pmmintrin.h,并依次向下类推至 mmintrin.h

请注意,ammintrin.h 是由 AMD 发布的,未包含在任何 Intel 内部函数头文件中。ammintrin.h 包含了 pmmintrin.h,因此,通过将 ammintrin.h 包含在内,就可声明所有 AMD SSE4A 以及 Intel SSE3、SSE2、SSE 和 MMX 函数。

另外,单个 Oracle Solaris Studio 头文件 sunmedia_intrin.h 包含所有 Intel 头文件中的声明,但未包含 AMD 头文件 ammintrin.h

请注意,在主机平台(例如 SSE3)上部署的调用任何超集内部函数(例如,针对 AVX)的代码不能在 Oracle Solaris 平台上装入,在 Linux 平台上装入可能会失败并产生未定义的行为或不正确的结果。对于调用这些特定于平台的内部函数的程序,请只在支持这些函数的平台上部署这类程序。

这些为系统头文件,应按下例所示显示在程序中:

#include <nmmintrin.h>

有关详细信息,请参阅最新的 Intel C++ 编译器参考指南。