问题标签 [suncc]
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++ - Sun 的 C++ 编译器的“弃用”表示法?
Sun 编译器是否具有将函数标记为已弃用的符号,例如 GCC__attribute__ ((deprecated))
或 MSVC __declspec(deprecated)
?
c++ - Sun C++ 编译器和 Boost
我目前正在 OpenSolaris 2009-06 上进行开发。Boost::MPL 文档似乎暗示不支持sun 编译器(该文档最后更新于 2004 年)。Boost 的顶级文档似乎表明支持 sun 编译器 5.10 及更高版本——我想这是一般级别的支持,还是包括 MPL?有没有人有关于 sun 5.10 编译器的 C++ 一致性状态的详细信息?
我总是可以使用 GCC 进行编译。
c++ - Sun CC 未链接或编译共享对象中的 fstream 模板
我对 Sun CC(主要是 6.2,但似乎也发生在 12.1)有一个问题,我似乎无法编译或链接到共享对象中的 fstream 模板。
我已将其从我正在工作的遗留系统中提取出来,并在此示例中复制了它。
C/C++ 共享对象(main.c):
还有一个 C 主程序 (main2.c):
编译库
编译C主程序
在 SunOS 5.8 上运行此程序会产生以下错误:
nm 证实了这一点:
我正在使用的编译器版本:
我应该试图说服 Sun CC 将 fstream 编译到我的库中吗?或者有没有我可以链接的图书馆?我无法更改为使用 stlport4 (http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html),因为它在 Sun CC 6.2(或 5.3...版本编号有什么用?)上不可用。
在 Linux 中编译并链接 libstdc++ 时,这似乎工作正常。我猜fstream被编译成libstdc++?(纳米似乎证实了这一点)。
compiler-construction - 有和没有编译器优化的并行 OpenMP 代码的性能 (Sun CC)
我正在做一个项目,我们被要求编写一个简单的 OpenMP 代码来并行化一个使用微分方程的程序。我们还被要求测试代码在有和没有编译器优化的情况下的性能。我正在使用 Sun CC 编译器,因此对于优化版本,我使用了选项
对于非优化
毫不奇怪,编译器优化的运行时间远低于其他情况。令我惊讶的是,非优化版本的缩放性能要好得多。在这里,我所说的性能是指加速系数,即程序运行在 M 个处理器上的运行时间与程序运行在 1 个处理器上的运行时间之比。
有人暗示这可能取决于优化版本受内存限制,而非优化版本受 CPU 限制的事实。我不确定“边界”如何影响我的代码的扩展能力。你有什么建议吗?
c++ - 基类的函数模板是否可以分配给指向成员函数的指针
以下代码是否应该在 C++98/03 中编译?
这个代码片段在我能够尝试的几乎所有编译器上都运行良好;保存 Sun C++ 5.11 和 Sun C++ 5.12。
那应该是一个错误吗?如果是这样,有谁知道它是否已报告给供应商(目前是 Oracle)?
编辑:
我将接受从 C++03 或 C++11 标准文档中提供适当相关引用的答案。或者,如果您可以提供有关 Oracle 错误报告的信息。
solaris - 使用 `-std=XXX` 时导致 SunCC 在 g3mangler.cc 中崩溃的原因是什么?
我正在尝试确定导致 SunCC 5.11 - 5.13 死机的../lnk/g3mangler.cc, line 825
原因(来自 SunCC 5.13 的消息)。这是编译期间的样子。该机器是第 4 代 Core i5,因此它具有与宏相对应的功能。
我知道-std=c++03
所有编译器和-std=c++11
较新的编译器都会出现问题。如果我省略-std=XXX
,那么问题就消失了。告诉用户他们不能使用 C++03 或 C++11 是不可行的。
这里是gcm.cpp:408
。由于努力隔离,它现在基本上被注释掉了。事实上,删除所有代码并留下一个空函数也证明了这一点:
MAYBE_INLINE
是我用来inline
打开和关闭编译器的宏。
我能在网上找到的唯一报告来自我们的错误跟踪器。我已经没有想法了,因为我已经用尽了函数中的所有代码。
是什么原因导致 SunCC 编译器在g3mangler.cc
使用时崩溃-std=XXX
?我们如何解决它?
c++ - 在 GASM 内联中对参数“N”的无效引用
我正在使用 Developer Studio 12.5 附带的 SunCC 编译器在 Solaris 11.3 上构建Botan 。我对库或 Solaris 不太熟悉,我需要一些努力才能找到问题。
编译在一个名为divide.cpp
. 我已将其简化为以下测试用例。根据Sun Studio 12 编译器中 Oracle 的 GCC 风格的 asm 内联支持,ASM 格式良好。Clang、GCC 和 ICC 愉快地使用代码。
我找不到有关错误字符串的有用信息Invalid reference to argument 'N' in GASM Inlining
。我在 Oracle 板上的内联汇编器上发现了 sunCC 扼流圈。但答案是 UBE 有问题并购买支持合同以了解更多信息。
我有三个问题:
错误信息表示什么?
如何让 SunCC 提供源文件和行号?
我该如何解决这个问题?
如果我将b
参数更改为 just =m
,则会产生相同的错误。如果我将b
参数更改为 just =r
,则会生成不同的错误:
结果:
c++ - 处理 utf8 编码的 char* 数组
文件包含非拉丁内容并以 UTF8 编码。目前现有代码使用“ fopen
”打开文件,解析它并validate
使用非拉丁内容调用我的函数,并将数据传递为char*
.
我必须对传递的char
数组进行一些验证。
该应用程序使用Sun C++ 5.11
并且我认为不支持unicode
. (我在 Sun C++ 5.11 上搜索了 unicode 支持,我没有得到任何关于 unicode 支持的正确指示。所以我编写了一个简单的程序来检查 Sun C++ 是否支持 unicode 并且程序没有编译)。
如何对输入进行验证char*
?可以使用wchar_t
吗?
cmake - 如何让 CHECK_CXX_COMPILER_FLAG 因非法值而失败?
我们CMakeFile.txt
包含以下 SunCC 代码路径。SunCC 使用-xarch=XXX
而不是 GCC 样式-mXXX
。
当我们在 Sun 的编译器下运行 CMake 时,结果如下:
但是,当我们编译它时,结果是:
添加 SunCC-errwarn
并-errwarn=%all
不能帮助 CMake 检测到故障。
该消息可能会给用户带来很多问题。它也违反了我们对干净编译的治理。我们想清理它并避免任何麻烦。
我们如何告诉 CMake 对CHECK_CXX_COMPILER_FLAG
非法值的测试失败?
solaris - 是什么导致 bfd_asm.c 中的 SunCC 崩溃?
我正在尝试追查 SunCC 编译器崩溃的原因。它从早期的 SunCC 12.x 时代就已经存在,并且存在于最新的 SunCC 12.6 中。尝试在 x86 系统上乘以多项式时会发生崩溃。下面的代码是 GCM 算法的一部分:
和:
我无法找到有关由于bfd_asm.c:2602
. 我相信这与使用时导致 g3mangler.cc 中的 SunCC 崩溃的原因相同-std=XXX
?,但它只是移动了。
迄今为止,我们的策略是在等待修复时禁用代码路径。它看起来不会很快得到修复,因此我们希望找到一种解决方法并重新启用代码。
是什么导致了崩溃,我该如何解决?
我认为这是 MCVE,虽然它不是很有用: