找不到指出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编译器的主要维护者)在其中说:
一个问题[一个]可能会试图使6.6.0二进制文件在6.5.0上运行,
是所有内容都是使用-fstack-protector
构建的,它依赖于
在libc中支持。它不在6.5.0 libc中,但添加了IIRC 6.5.0SP1。
关于backwards-compatibility - QNX 6.5.0(SP1)和6.6.0(向后兼容)之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30460288/