问题标签 [sunstudio]
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.
linker - 以字节码形式使用指令时需要 -xarch=XXX 吗?
我有一个 x86 RDRAND 实现,如下所示。我对 RDSEED 有类似的实现。
发出的字节码是rdrand eax
并且有能力的处理器会愉快地使用它们。Sun Studio 12.1 及更高版本支持 GCC 内联汇编并使用它们。
Sun 文档说我需要-xarch=avx_i
提供 RDRAND(和 RDSEED -xarch=avx2_i
)的 ISA。另请参阅Sun Studio 12.6 | -xarch x86 的标志。
在这个用例中,我还需要添加-xarch=avx_i
到我的链接器标志吗?RDRAND
万一这很重要,我们在运行时保护 CPU 功能并使用 Mapfile 来降低 ISA(因为运行时路径受到保护):
c++ - SunCC std::allocator 和 size_type max_size(size_type) const 成员函数?
我们使用一个自定义分配器来清零内存。没什么大不了的。它具有std::allocator中描述的类型和成员函数。
我最近将自定义分配器用于std::vector<T, A>
(带A
分配器),这是自定义分配器的新应用。它在 AIX、BSD、Linux、OSX 和 Windows 上测试正常。
在 Solaris 上进行测试导致编译失败。看起来 SunCC 需要一个size_type max_size(size_type) const
成员函数:
从同一个文件中,有一个size_type max_size (size_type) const
:
在搜索有关 Sun 分配器的信息时,我没有找到有用的结果。
我的第一个问题是,这个成员函数是从哪里来的?它是 SunCC 特有的吗?它是早期 Rogue Wave 实施的遗迹吗?或者也许是别的什么?
我的第二个问题是,是否应该只为 SunCC 添加这个成员函数?或者我们应该使用一个选项来禁用它以实现可移植性?或者也许是别的什么?
以下是 Sun Studio 12.3 和 12.4 的编译结果:
以下是 Sun Studio 12.5 和 12.6 的编译结果:
c++ - developertudio12.6 CC on Solaris intel i386,编译器不显示错误或警告但失败
尝试在 Solaris intel i386 上使用 developertudio12.6 CC 编译 C++ 程序。编译器不显示错误或警告但失败。
可能会弄清楚为什么 CC 不显示任何警告或错误 - 可能出了什么问题?
使用 -verbose=template => 类似的输出,没有调试行使用 -# 或 verbose=diags=> 大量输出但没有错误行
/opt/developerstudio12.6/lib/compilers/stdlibfilt -stderr < /tmp/ccfe.1620226479.15666.02.err