草庐IT

c++ - 如何在 Solaris 8 SPARC 上启用 _GLIBCXX_USE_C99?

我已经为Solaris8sparc构建了gcc4.6.1。我正在编译一些使用boost::lexical_cast(boost1.48)的代码,但出现此错误:boost/math/special_functions/sign.hpp:Infunction'intboost::math::detail::signbit_impl(T,constboost::math::detail::native_tag&)'error:'signbit'isnotamemberof'std'(对于fpclassify、isfinite、isnormal、isinf、isnan也有类似的错误)我查看了c

c++ - 在 Solaris 上构建 Boost

Boost会完全构建在Solaris上吗?在我支付支持契约(Contract)以将SunStudio12.2修补到最新版本之前,我想知道是否有人在此方面取得了成功(特别是Proto/Spirit)。我遇到了一些错误,有些错误看起来已经在补丁中解决了,但是向Oracle支付支持费用并不便宜,所以我宁愿希望它能在我做之前工作。现在,我只是尝试在Solaris上使用cpp-netlib并使用BoostPropertyTree解码通过HTTP获取的一些JSON。它在MacOSX上运行良好-所以我希望我可以在Solaris上使用相同的代码。 最佳答案

c++ - PUSHMARK(SP) 中的 Perl 5.12.3 C/C++ 代码崩溃;在 Solaris 5.9 上出现段错误

我有一个C/C++代码,它使用perlcall来调用perl脚本,并且正在使用5.8.90的Perl版本。由于5.8.90中的一些内存泄漏/堆损坏,我们计划使用5.12.3,最新版本的perl。在使用5.12.3版本的libperl.so时,我们的程序在调用“PUSHMARK(SP);”时崩溃了我尝试在dbx中调试,但只能获得以下信息t@32(l@32)由信号SEGV终止(在故障地址处无映射)如果有人遇到这个问题,请告诉我。找到根本原因的任何指示都会非常有帮助。 最佳答案 我将根据我的研究关闭线程。Ysth-感谢您提供信息。实际上,

java - Solaris 上 Java/C++ 的高可用性和可扩展平台

我有一个在Solaris上混合使用Java和C++的应用程序。代码的Java方面运行WebUI并在我们正在与之交谈的设备上建立状态,C++代码对从设备返回的数据进行实时处理。共享内存用于将设备状态和上下文信息从Java代码传递到C++代码。Java代码使用PostgreSQL数据库来保存其状态。我们遇到了一些相当严重的性能瓶颈,现在我们可以扩展的唯一方法是增加内存和CPU数量。由于共享内存设计,我们被困在一个物理盒子上。这里真正大的打击是C++代码。Web界面很少用于配置设备;我们真正困难的地方在于处理设备在配置后传输的数据量。我们从设备返回的每条数据都有一个标识符,它指向设备上下文,

java - 在 Windows 上运行 JAVA Intel 与 Solaris Sparc (T1000)

您好,我正在尝试在SolarisSparc上测试我的JAVA应用程序,但我遇到了一些奇怪的行为。我不是在寻找火焰war。我只是想知道发生了什么或出了什么问题......我在Intel和T1000上运行相同的JAR,而在Windows机器上我能够获得100%(性能监视器)cpu利用率,在Solaris机器上我只能获得25%(prstat)该应用程序是我编写的自定义服务器应用程序,它使用netty作为网络框架。在Windows机器上,我每秒能够处理超过200个请求/响应,包括完整的业务逻辑和对外部第3方的访问,而在Solaris机器上,我仅以25%的CPU获得大约150个请求/响应人们只能

sockets - Solaris10中如何发送ACK包

对于tcp连接,在Solaris10中有什么方法可以在没有其他数据(只有ack数据包)的情况下向另一端发送ACK数据包。我知道我们可以通过TCPKeepalive选项来做到这一点,但它在Solaris10中受支持。 最佳答案 检测断开连接的可靠方法是在您的应用程序级协议(protocol)中构建一个null/ping/echo类型的消息,并让您的应用程序定期发送这些消息。如果它没有得到及时的答复,它可以假设连接已经断开。大多数旨在涉及长期连接的协议(protocol)都包含这样的消息(例如,IRC、IMAP和SSH都包含)。(毕竟,

java - 将 Solaris 迁移到 RH : network latency issue, tcp 窗口大小和其他 tcp 参数

我有一个客户端/服务器应用程序(Java),我正在从Solaris迁移到RHLinux。自从我开始在RH中运行它,我注意到一些与延迟相关的问题。我设法隔离了看起来像这样的问题:客户端连续向服务器发送5条消息(每条32字节)(相同的应用程序时间戳)。服务器回显消息。客户端接收回复并打印每个消息的往返时间。在Solaris中,一切都很好:我同时收到所有5个回复,发送原始消息后大约80毫秒(客户端和服务器彼此相距数千英里:我的pingRTT是80毫秒,一切正常)。在RH中,前3条消息正常回显(它们在发送后80毫秒到达),但是接下来的2条消息在80毫秒后到达(因此总共160毫秒RTT)。模式总

go - 我可以在 Solaris 5.10 上使用 golang 吗?

我正在尝试在Solaris5.10i86c(x86+x86_64)上使用golang但我找不到为Solaris.此外,我希望它为Filebeat创建一个在Solaris5.10系统中运行的二进制文件。Filebeat(amd64)的实际版本不适用于我的Solaris发行版。谁能指导我一下? 最佳答案 Go在amd64上支持Solaris11,但不支持sparc。要为sparc构建,您需要使用gccgo。要为Solaris/amd64构建纯Go项目,您可以使用:$GOOS=solarisGOARCH=amd64gobuild查看此答案

go - 如何交叉编译solaris 32位

我们目前正在为多个平台构建我们的Go可执行文件,包括Solaris64位。我们也有32位Solaris可执行版本的请求,但我无法让它工作(设置Solaris64位交叉编译器的人已经离开并且无法联系到)。我尝试使用我们现有的solaris交叉编译在gobuild上设置-m32标志,但这没有用,所以我尝试构建一个特定于Solaris32位的交叉编译器。我用谷歌搜索并找到了一些模糊的例子,所以我遵循这个过程:将header和库从32位Solaris机器复制到我的Linux构建机器。D/L并构建binutils和gcc,将SYSROOT指向下载的32位Solaris头文件和库,其中:$TARG

c - 在 Solaris/Linux 中释放分配的内存

我编写了一个小程序并在Solaris/Linux平台下编译它以测量将此代码应用于我的应用程序的性能。程序是这样写的,最初使用sbrk(0)系统调用,我取了堆区域的基址。之后,我使用malloc系统调用分配了1.5GB的内存,然后我使用memcpy系统调用将1.5GB的内容复制到分配的内存区域。然后,我释放了分配的内存。释放后,我再次使用sbrk(0)系统调用来查看堆大小。这是我有点困惑的地方。在Solaris中,即使我释放了分配的内存(将近1.5GB),进程的堆大小仍然很大。但是我在Linux中运行相同的应用程序,释放后,我发现进程的堆大小等于分配1.5GB之前的堆内存大小。我知道So