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.  语言扩展

5.  程序组织

6.  创建和使用模板

7.  编译模板

8.  异常处理

9.  改善程序性能

10.  生成多线程程序

第 3 部分库

11.  使用库

12.  使用 C++ 标准库

13.  使用传统 iostream

14.  生成库

第 4 部分附录

A.  C++ 编译器选项

B.  Pragma

B.1 Pragma 形式

B.1.1 将函数作为 pragma 参数进行重载

B.2 Pragma 参考

B.2.1 #pragma align

B.2.2 #pragma does_not_read_global_data

B.2.3 #pragma does_not_return

B.2.4 #pragma does_not_write_global_data

B.2.5 #pragma dumpmacros

B.2.6 #pragma end_dumpmacros

B.2.7 #pragma error_messages

B.2.8 #pragma fini

B.2.9 #pragma hdrstop

B.2.10 #pragma ident

B.2.11 #pragma init

B.2.12 #pragma ivdep

B.2.13 #pragma must_have_frame

B.2.14 #pragma no_side_effect

B.2.15 #pragma opt

B.2.16 #pragma pack( n)

B.2.17 #pragma rarely_called

B.2.18 #pragma returns_new_memory

B.2.19 #pragma unknown_control_flow

B.2.20 #pragma weak

B.2.20.1 #pragma weak name

词汇表

索引

B.1 Pragma 形式

C++ 编译器 pragma 的各种形式如下所示:

#pragma keyword
#pragma keyword ( a [ , a ] ...) [ , keyword ( a [ , a ] ...) ] ,...
#pragma sun keyword

变量 keyword 指特定指令;a 表示参数。

B.1.1 将函数作为 pragma 参数进行重载

本附录中列出了几个将函数名称作为参数的 pragma。如果重载该函数,则 pragma 使用其前面的函数声明作为其参数。请看以下示例:

int bar(int);
int foo(int);
int foo(double);
#pragma does_not_read_global_data(foo, bar)

在此示例中,foofoo(double),即 pragma 紧前面的 foo 声明;而 barbar(int),即唯一声明的 bar。现在,请看以下示例,在此示例中再次重载了 foo

int foo(int);
int foo(double);
int bar(int);
#pragma does_not_read_global_data(foo, bar)

在此示例中,barbar(int),即唯一声明的 bar。但 pragma 并不知道要使用哪个版本的 foo。要更正此问题,必须将 pragma 放在希望 pragma 使用的 foo 定义的紧后面。

以下 pragma 使用本节中介绍的选择方法: