就一个简单的 c 程序:
#include <stdio.h>
int main()
{
printf("Hello, World\n");
}
使用如下命令编译:
riscv64-linux-gnu-gcc --static hello.c -o hello_riscv64
居然可以直接运行
> ./hello_riscv64
Hello, World
使用 qemu 也能运行:
> qemu-riscv64-static hello_riscv64
Hello, World
readelf 结果:
> readelf -h hello_riscv64
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: RISC-V
Version: 0x1
Entry point address: 0x1054c
Start of program headers: 64 (bytes into file)
Start of section headers: 501880 (bytes into file)
Flags: 0x5, RVC, double-float ABI
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 28
Section header string table index: 27
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.