backwards-compatibility - QNX 6.5.0(SP1) 和 6.6.0(向后兼容)有什么区别?

标签 backwards-compatibility qnx qnx-neutrino

无法找到指出 QNX 6.5.1 和 6.6.0 之间确切区别的实际发行说明。我知道不再支持 Photon。

到目前为止,我已经安装了 SDP 6.6.0,但可能我的软件也需要在 6.5.0 上运行。那么 6.5.0 的实际向后兼容级别是多少?有些人说“6.6 与 6.5 二进制兼容”[ 1 ] - 谁能用官方文件支持这一点?

由于 QNX 遵循 POSIX 标准,我认为 API 是相同的,并且确实应该提供向后兼容性。那么为 6.6.0 创建的程序基本上也应该可以在 6.5.0 上运行,对吧?

最佳答案

到目前为止我发现的差异。

  • 使用 SDP 6.6.0 (i486-pc-nto-qnx6.6.0-g++) 并在 QNX 6.5.0 上运行软件:
    • 必须禁用 gcc 堆栈保护器:qcc .. -fno-stack-protector(另请参阅 here)
    • 使用 dlopen() 时 [ 1 ] 链接共享库 SDP 6.6.0 将使用 libcpp.so.5 而 QNX 6.5.0 仅提供 libcpp.so.4

另外:我找到了一个论坛thread Ryan Mansfield(我认为是 QNX 编译器的主要维护者)说:

One problem [one] might hit trying to get 6.6.0 binaries to run on 6.5.0, is that everything is built is with -fstack-protector, which relies on support in libc. This wasn't in the 6.5.0 libc but IIRC, 6.5.0SP1 added.

关于backwards-compatibility - QNX 6.5.0(SP1) 和 6.6.0(向后兼容)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460288/

相关文章:

c#:扩展接口(interface)的功能,使其向后兼容

asp.net - ASP.NET MVC 1 向前兼容 ASP.NET MVC 2 吗?

c - 如何使用 C 程序从 QNX 获取内存信息?

c++ - 在 C++ 中使用 telnet 通过 TCP/IP 与 QNX Neutrino 通信

c# - 当类型移动程序集和命名空间时,protobuf-net 是否允许向后兼容?

c++ - 从 QNX 移植到开源 RTOS 所需的步骤

qt - QMAKE。 QT项目交叉编译时如何判断宿主平台和目标平台

c++ - 在QNX中,如何管理服务器和客户端之间的IPC连接?

qnx 窗口上的 JPEG 图像

android - 为弃用/newapi 自定义 lint 警告