IBM XL C 编译器 - 我如何扩展用户包括但不包括系统包括

Posted

技术标签:

【中文标题】IBM XL C 编译器 - 我如何扩展用户包括但不包括系统包括【英文标题】:IBM XL C compiler - how do I expand user includes but not system includes 【发布时间】:2015-04-15 22:00:47 【问题描述】:

搜索了所有 IBM 手册,但令人惊讶的是找不到答案。 我有以下内容:

#include < stdlib.h>  
#include < stdio.h>   

#include  "userinc1" 
#include  "userinc2" 

有一个编译选项 - 默认为 NOSHOWINC 如果我将其更改为 SHOWINC 并重新编译 - 我会从上面的所有 4 中扩展所有内容。我只希望用户包含被扩展..

到目前为止,还没有发现任何选项可以做到这一点 - 所以任何帮助将不胜感激。 这是在 z/OS 上运行的 IBM XL C 编译器。

【问题讨论】:

“扩展”是什么意思?根据此链接 (www-01.ibm.com/support/knowledgecenter/SSQ2R2_9.0.0/…),该选项仅指定处理的文件是否在处理时显示。如果是这样,简单的解决方案是使用 grep 之类的方法过滤掉您不想看到的文件。 我希望 userinc1 和 userinc2 中“copybooks”的全部内容显示在编译器输出中,但我不希望在编译器输出中扩展 2 个系统 .h 文件(很多数千行)grep.... 这是 z/OS 不是 Unix 系统! z/OS 上的编译器不支持在源列表中选择性地显示包含文件。你得到全部或没有。 【参考方案1】:
SHOWINC=USR

应该做你想做的。至少它在 XL C for AIX 上是这样。

【讨论】:

不,z/OS 上的 SHOWINC 不接受任何参数。看起来没有办法做到这一点。

以上是关于IBM XL C 编译器 - 我如何扩展用户包括但不包括系统包括的主要内容,如果未能解决你的问题,请参考以下文章

IBM编译器开发团队(上海)招募实习生

IBM XL/C 是不是在预处理器中表示 Altivec 支持?

IBM XL C/C++ 等效于#pragma GCC 优化

将整数提升到 8 个字节,包括使用 IBM xlf 编译器显式声明的整数

Postgres-xl 上的 PostGIS 扩展

包括使用 cx_freeze 编译的扩展