Oracle® Solaris Studio 12.4:C 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

5.4.7 示例:使用 Pragma

考虑以下源代码示例:

struct foo;
struct bar;
#pragma alias (struct foo, struct bar)

struct foo {
        int f1;
        int f2;
} *fp;

struct bar {
        short b1;
        short b2;
        int   b3;
} *bp;

此示例中的 pragma 告知编译器,允许 foobar 互为别名。编译器作出关于别名信息的以下假定:

  • fp->f1 可将 bp->b1bp->b2bp->b3 作为别名。

  • fp->f2 可将 bp->b1bp->b2bp->b3 作为别名。