![](/img/trans.png)
[英]Using C++ Emulator fails when calling printf syscall from a RISC-V baremetal program
[英]Checking Endianness of RISC-V machine using C-code
有人可以帮我这个忙。 你们大多数人都熟悉一个C代码,它检查机器的字节序。
如果它在RISC-V机器上运行将会有什么结果?
代码如下:
#include <cstdio>
int main()
{
int x = 1;
char* p = (char*)&x;
printf("%d\n",(int)*p);
return 0;
}
该程序在任何平台上均有效。 对于小端计算机或 sizeof (int)
== sizeof (char)
的计算机,输出为1
。 对于所有其他平台,它将为0
。
由于RISC-V是低位优先的,因此输出应为1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.