QNX 6.5.0(SP1)和6.6.0(向后兼容性)之间的区别是什么?

时间:2015-05-26 13:41:01

标签: 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上运行,对吗?

2 个答案:

答案 0 :(得分:4)

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

  • 使用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编译主管维护人员,我认为)说:

  

一个问题[一]可能会试图让6.6.0二进制文件在6.5.0上运行,   是所有内容都是-fstack-protector所依赖的   支持 libc 。这不是在6.5.0 libc 中,而是添加了IIRC,6.5.0SP1。

答案 1 :(得分:1)

你所询问的是“前进”。兼容性。 6.6.0向后兼容早期版本的QNX,这意味着在6.5或6.4上编写的软件将在6.6上运行。

如果您需要sw在旧系统上运行,最好在该版本级别的操作系统上构建它,并且仍然可以在更高版本的操作系统上部署sw。