本文主要是介绍关于C/C++ riscv64、mipsel 平台标准库 std::atomic<T> 原子变量编译失败问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RISCV64 适用 C/C++ STL 平台原子变量链接不上的问题,可以看下之前写的这篇文章。
RISC-V平台 std::atomic<T> 编译失败问题解决-CSDN博客
mipsel 平台上面也可以按照这个方式解决,在 mipsel 平台上面没法使用 8字节的STL原子变量,这个时候要不自己去实现 mipsel 八字节原子变量操作依赖的系统C语言接口函数,向上面的文章一样。
但本文介绍一个偷懒的解决办法:
我们可以链接 atomic 库,但是前提是可以链接上,如果环境限制不能连接上这个,那么你就只有上面自己去实现这些依赖C函数。
如果可以就不需要,但需要注意 atomic 库链接需要 libc.a 链接之后才能链接它,它大致是这样的 lib 库链接顺序。
libc.a
atomic
dl
pthread
这个不见得所有都可以链接,反正或许会受到限制,你通过这种偷懒的办法来解决的话,需要确保环境是正确的,目前来说使用 Ubuntu 18.04 LTS 安装 mipsel 交叉GCC编译器完整环境这个是可以连接上的。
这篇关于关于C/C++ riscv64、mipsel 平台标准库 std::atomic<T> 原子变量编译失败问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!