问题标签 [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.

0 投票
2 回答
500 浏览

c - 将共享对象库 (.so) 文件的生成拆分为两遍而不是一遍

我正在尝试lib_test.so从“test.c”和test.exp文件构建一个共享库。该lib_test.so文件将用作另一个应用程序的扩展。lib_test.so应用程序文档通过以下命令直接指定生成 tle文件:

但我的要求是分两次构建库:

  1. 使用命令编译生成test.o文件。gcc
  2. lib_test.so链接以使用ld命令生成库。

我尝试如下:

  1. 执行编译步骤如下:gcc -q64 -c -o test.o test.c.
  2. 创建lib_test.so如下:ld -bM:Sre -bE:test.exp -bnoentry -o lib_test.so test.o

但它没有生成正确的lib_test.so文件。

我正在使用带有最新 GCC 的 Ubuntu 16.04 LTS 64 位

您能否建议将过程分为两遍的正确方法...

感谢和问候。

0 投票
1 回答
431 浏览

c - 在 AIX 5.3 版上编译 perl >5.10

我一直在多个平台上编译 OpenSSL(因此 Perl >5.10,因为它是一个依赖项)。我已经设法在除 AIX 之外的每个平台上编译了 1.1.0b,我什至无法编译 Perl。我尝试了几个版本并查看了 Perl 在线提供的文档。据我所知,它建议使用 5.12.2 版本。

当我尝试编译 5.12.2 版本时,

我从文档中获取以下内容,并填写了一些本地系统变量,例如使用 XLC rv7。

然后我尝试按照提示进行,并得到以下错误:

查看 pod/perlmodlib.PL,我们看到以下内容:

在我绝望中,我试图破解它并避免写入清单,但后来我遇到了这个问题:

错误的频率让我觉得也许我没有正确配置一些东西......

我的下一个想法是尝试最新版本,在撰写本文时是 5.24。使用相同的配置并尝试使我得到以下问题:

我从其他编译中知道这意味着我需要编辑 PERL5LIB 变量。

如果我继续将所有模块添加到路径中:

即便如此,我仍然会收到 5.24.0 源代码中甚至不存在的模块的错误!

我有MakeMaker,但5.24版本不包含vpp.pm!再一次,绝望地我试图从不同的来源把它放在那里,我得到了这个错误:

所有这一切让我觉得我可能没有正确配置某些东西......有经验的人可以帮我提供一些关于 AIX 上 Perl 的简单安装说明吗?我会非常感激。谢谢!

以下是有关我的系统的一些信息:

0 投票
1 回答
65 浏览

c++ - xlc:模板类的大小不起作用

我在模板参数中使用 sizeof() ,如下所示:

出于某种原因,xlc++ 决定将其sizeof(Foo<A>)作为默认模板参数的结果为 1。为什么会这样?这是编译器错误吗?它在 Visual Studio 2015 中打印 4、4。

我正在使用 xlc 版本z/OS V2.1 XL C/C++

0 投票
1 回答
125 浏览

c++ - 为什么 xlc++ 编译器抱怨强制转换右值?

在 z/OS 上,pthread_t类型是一个包含 member 的结构体char __[8];。我试图将其从返回值转换为int64_t. 我收到以下错误:

CCN5216 (S) “char [8]”类型的表达式无法转换为“int64_t”类型

但是,如果我使用临时变量tmp,它就可以工作。我可以使用 Visual Studio 2015(定义mypthread类似于 zos 的自定义结构pthread_t)编译此代码而不会出错。你知道为什么 xlc++ 这个演员阵容有问题吗?铸造标准是否符合?

0 投票
1 回答
745 浏览

c++ - 如何解决系统头宏和 boost 模板函数之间的名称冲突?

使用 boost 模板函数解决冲突的宏名称的最佳方法是什么?包含 boost/chrono.hpp 后,我得到了编译器错误:

CCN5816 (W) 为宏“round”指定了太多参数。额外的参数被忽略。“/usr/include/math.h”,第 2133.16 行:CCN5425 (I) “round”在“/usr/include/math.h”的第 2133 行定义。

round与模板函数冲突boost::chrono::round

/usr/include/math.h

/boost/chrono/round.hpp

  • #undef如果我修补round.hpp ,我似乎可以使用宏
  • 也许我可以使用parantheses?在宏和成员函数冲突的答案中,函数名称在括号内,但这是在函数的使用中,而不是在其定义中。它也适用于定义吗?

BoostChronoTest.cpp

0 投票
1 回答
81 浏览

xlc - XlC 标志 qhalt 问题

我正在使用 xlC 13.1.5 和 CMake 3.5。当我尝试使用 CMake 编译 MPI 包时,出现以下错误:

我读到这是此编译器版本的错误,不支持使用“e”选项添加 qhalt 标志。有解决问题的方法吗?目前我无法更改编译器版本。

0 投票
2 回答
1519 浏览

gcc - 相当于 gnu 和 ibm openmp 库的 KMP_AFFINITY=verbose?

在 Intel 系统上使用 OpenMP 时,我经常发现设置它很有用,KMP_AFFINITY=verbose,(other options...)以便库吐出我的线程实际绑定到的内核。在尝试不同的线程绑定选项时,我发现这很有帮助。目前我正在使用 Power8 系统,想知道是否有KMP_AFFINITY=verboseGNU 和/或 IBM OpenMP 发行版的等价物。换句话说,如果我使用 g++ 或 xlc++ 编译我的 OpenMP 可执行文件,我如何获得关于我的线程放置位置的信息?

0 投票
4 回答
131 浏览

c - sprintf 的什么输入会产生 0 结果?

我正在尝试调试与此特定代码无关的问题,并且正在寻找线索,线索是“该计数器可能具有什么值?” 以下代码行

正在为输出生成“0.00P”。

这是我对参数的了解。输入是unsigned long long一个值 >= (10^12 - (10^7 / 2)) 的值。decimal = '.'

是的,我知道这"%lld"会更好"%llu",我会解决这个问题。

但与此同时,我正在寻找有关输入内容的线索。问题发生在客户身上,我们不知道如何重现它,因此添加调试代码或使用调试器不是一种选择。

编译器是 IBM z/OS C++ 编译器。在你们翻白眼之前,“EBCDIC 是魔鬼的杰作!” 它是符合 Posix 的 C++ 编译器和环境。

0 投票
1 回答
123 浏览

c++ - 尝试在 AIX 6.1 上创建构建过程

我正在尝试更新客户端的构建过程。我的客户正在使用运行 AIX 6.1 的 IBM P6。我的客户已经能够在类似的系统上编译和构建 C++ 和 C 代码,但不是我正在处理的特定系统。

我确保包含 xlc 的 IBM 目录在我的 $PATH 中。当我运行 gmake 时,我收到一条错误消息,指出 gmake 找不到 .orig/xlc_r。我将 .orig 的路径添加到我的 $PATH 中,但仍然出现错误。

我面前没有错误列表,但它看起来像这样:

gmake:xlc_r [11]:找不到.orig/xlc_r

我需要设置另一个环境变量吗?

谢谢佩迈耶

0 投票
1 回答
1075 浏览

aix - AIX 中的 xlsmp 是什么?

我已经为 AIX 安装了 Xlc 编译器,它安装的库之一是:/usr/lpp/xlsmp.rte/xlsmp.rte/3.1.0.6/liblpp.a. 我很想知道

什么是 xlsmp?

这个库包含什么?