Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

main.c测试内容

#include <stdio.h>
int main()
{
    printf("hello\n");
    return 0;
}

ubuntu装环境

sudo apt update
sudo apt install build-essential
sudo apt install gcc-multilib
sudo apt install -y flex
sudo apt install -y bison
sudo apt install -y qemu
sudo apt install -y qemu-system
sudo apt install -y qemu-user

sudo apt-get install gcc-arm-linux-gnueabi

x86 32位

生成汇编

x86 ATT 32位
main. c -> x86_32.s

gcc -O0 -o x86_32.s -S -masm=att -m32 -fno-exceptions -fno-asynchronous-unwind-tables -fno-builtin -fno-pie main.c

这个需要gcc−multilib正确装好(因为需要32位的lib)

运行

生成可执行文件 32位

gcc -m32 x86_32.s -o x86_32

qemu运行

qemu-i386 ./x86_32

或者./x86_32,会隐式调用qemu

arm 32位

生成汇编

arm-linux-gnueabi-gcc -o arm.s -S -O0 main.c -fno-asynchronous-unwind-tables

运行

生成可执行文件

arm-linux-gnueabi-gcc arm.s -o arm -static

qemu运行

qemu-arm ./arm

或者./arm,会隐式调用qemu

评论