如何使用 C11 原子函数或 MIPS ll/sc 来同步对大型数据项的访问?

问题描述

我正在尝试使用 __atomic_load_n()__atomic_store_n() 来同步对 double 类型变量的访问。

我的平台不支持数据项大于 4 字节的 __atomic_*_n()。因此,当尝试将它与 doublelong long 一起使用时,出现错误

undefined reference to __atomic_load_8

这是使用 GCC 4.8.3,又名 microchip XC32 2.50。 cpu是PIC32MZ-EF,MIPS内核。程序是单线程的,裸机的,有中断。

问题:

  1. 我能否建立在 __atomic* 原语之上,以控制对 8 字节(或更大)数据项的访问?

  2. 我可以使用汇编指令 llsc 来做同样的事情吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...