问题标签 [xlc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 显式模板实例化在 XLC 上产生编译错误,但适用于其他编译器
以下代码是我尝试为客户要求实现的功能的简化最小版本。
它无法在 IBM 的 XLC 编译器(版本 9 和 11)上编译并出现错误A non-type template parameter cannot have type "int X::*".
。但是,我用 g++ 4.7.2、clang++ 3.2 和 Intel-13.0 尝试了相同的代码,它们编译成功。
我很想知道 XLC 是否是这里唯一理智的声音,或者其他编译器是否正确?
我多次阅读了 C++ 2003 标准章节中关于模板的内容,但无法最终找到禁止<type> <class>::*
用作非模板类型的内容。我已经通过 SO 和搜索引擎搜索了解释,但没有遇到任何可以帮助我做出决定的权威来源。
我知道这可能不是一个好的编码实践,但这是客户端代码所必需的,因为它们的要求有些独特。我也尝试了其他各种替代方案,但对他们不起作用。
boost-asio - Boost 绑定 AIX xlc io_service 运行
我尝试使用 boost 编译项目,将 asio::io_service 绑定到 boost::thread,并且我遇到了我不知道如何解决的错误使用:IBM XL C/C++ for AIX,V11.1 (5724-X13),版本: 11.01.0000.0006 (AIX 7.1)
导致错误的代码:
定义:
顺便提一下,这可能只是一些标志选项,但我在任何地方都找不到它,因为相同的代码在 Linux(GCC)、HP-UX(aCC) 和 Windows(MSVC) 上编译得非常好。
谢谢帮助
c++ - 宏停止在 Linux 上编译
我有一个包含多个宏的库,它在 AIX 上编译得很好,但现在我需要编译相同的代码,而且宏似乎停止工作。我不断收到消息:
有没有办法让 linux 上的 c++ 预处理器像在 aix 上一样工作。我在 linux 上使用 g++,在 AIX 上使用 xlc_r。
这是宏之一。
我称之为E_TRA_INMOD("Error", EVENT_DATA);
错误是:
python - 更改构建 c 编译器
我正在尝试从 AIX 6.5 机器上的源代码构建 python 2.6.8,但有几个模块无法成功构建。在构建过程中,有一个XLC手册页跳出来卡住了。我必须按下q
以结束手册页,该过程将继续。所以我在想是否是因为构建调用了默认的 XLC 编译器,我正在尝试将默认编译器更改为 g++:
但它似乎不起作用,XLC 手册页仍然弹出,并且模块无法构建。
我如何确保它将使用 g++ 而不是 XLC?谢谢。
更新
这是之后的日志CC=/bin/gcc CXX=/bin/g++ ./configure
我看到这条线checking whether we are using the GNU C compiler... no
,这是否意味着它没有使用 gcc?
而且还在make的日志中
在上面的日志之后,会弹出 xlc 的手册页。
java - 在独立 Java 中将 XA 事务与 WebSphere MQ 一起使用
为了在独立 Java 中将 XA 事务与 WebSphere MQ 一起使用,我正在执行以下步骤并收到错误消息xlc not found
第 1 步 - 准备 XA 开关文件
用于将目标文件链接到其相应的数据库。我正在执行以下命令
我得到以下错误
我不确定我的机器上是否安装了 xlc。我的机器是 AIX 6.1。但我可以在我的机器上找到 xlcpp。如何进行?有没有办法创建开关文件?
如果我执行 $ /usr/ccs/lib/cpp -help
我正进入(状态
参考: http ://www.ibm.com/developerworks/websphere/library/techarticles/0601_ritchie/0601_ritchie.html
unix - xlc:在 aix 6.1 上找不到
在 websphere MQ/java/lib/jdbc>make oracle 的安装路径上,出现以下错误
我不确定我的机器上是否安装了 xlc。我的机器是 AIX 6.1。但我可以在我的机器上找到 xlcpp。如何进行?有没有办法创建开关文件?
如果我执行$ /usr/ccs/lib/cpp -help
我正进入(状态
如何进行?
c++ - xlC 忽略 POD 上的 offsetof 选项
概括
我正在尝试使用 AIX 11.1 编译器在新的 AIX 7 机器上编译旧的 C++ 应用程序。此应用程序在非 POD 类上使用 offsetof。
我将 langlvl 选项设置为 strict98 并设置“offsetnonpod”选项,它告诉编译器允许在非 POD 类上使用 offsetof。
如果我删除 offsetnonpod 设置并为 langlvl 使用扩展,我会得到同样的错误。看来我在指定 offsetnonpod 选项时一定做错了,或者编译器实际上并不支持这样的功能。
示例代码
我用这个命令构建:
我明白了:
c++ - C++ 和 IBM 编译器错误?
这里有一段非常有趣的代码。我创建它的唯一目的是演示 xlC 编译器的行为。
如果您按原样编译此代码,则会导致编译错误:
现在,如果我们取消注释以“//命名空间”开头的行(这只是类型名 D1<int> 的模板特化,编译器错误就会消失。
Gnu编译器似乎没有问题。你们有什么想法吗?
PS。这个问题当然是在一个真实的项目中发现的,这只是一个简化的例子。在实际项目中,像 D1<int> 这样的类有数百个。他们认为开箱即用。但是对于 xlC,我必须为每个特定情况编写专门的函数。那很伤...
c++ - 使用 xlC 从模板函数问题中查找静态函数
当我在寻找有关我在源代码中遇到的编译问题的线索时,我遇到了这个与函数查找相关的错误报告(针对 Mozilla 的 JavaScript 引擎源代码) 。引用错误报告:
TypedArrayTemplate (显然)是一个模板,它引用了 INT_TO_JSVAL,一个静态内联函数,没有前缀“::”。这会破坏 xlC,因为它无法解析 INT_TO_JSVAL。如果在模板参数的上下文中找不到非限定名称,则该标准不要求考虑静态。g++ 做这个后备,xlC 没有。
来自编译器的信息性消息:
在我的情况下,失败的代码类似于:
xlC 实现的行为真的正确吗?2003 年或 2011 年的标准在哪里谈论这个?
c - AIX 运行时错误:符号 __dbargs(编号 191)未从依赖项导出
当我尝试在 AIX 上运行我的可执行文件和我的共享库时出现错误:
根据我的谷歌搜索,它可以通过-g
在编译和链接期间删除该选项来解决。但我宁愿将调试信息保留在那里。可能吗?正如我的一些搜索结果所建议的那样,我什至尝试添加。-lg
它也没有帮助。
更新
事实证明,添加显式-lg
确实有帮助。