linux - 64 位 Linux 上的 SDL 和 nasm

标签 linux sdl nasm

我在使用 nasm 和 ld 时遇到问题,这是我所做的:

来源:

EXTERN SDL_Init

SECTION .text
global _start

_start:
push 0x20
call SDL_Init

mov eax, 1
mov ebx, 0
int 0x80

编译:

nasm -f elf64 sdlini.asm 

链接:

ld -dynamic-linker /lib/ld-linux.so.2 -lSDL sdlini.o -o sdlini.exe

这是我运行 sdlini.exe 时得到的结果

bash: ./sdlini.exe: Accessing a corrupted shared library

知道这里发生了什么吗?

最佳答案

用这个修复它

ld -dynamic-linker /lib/ld-linux-x86-64.so.2 -lSDL sdlini.o -o sdlini.exe

关于linux - 64 位 Linux 上的 SDL 和 nasm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4680156/

相关文章:

c++ - 在哪里保存我的 C++ 库? (Ubuntu)

c++ - SDL2 2D纹理分配/池化

c - 在 OS X 上加载表面时 SDL2 预乘 alpha channel ?

c - 我应该使用哪个 C 编译器来创建我自己的简单操作系统?

assembly - ASM x86_64 AVX : xmm and ymm registers differences

assembly - x86:以 32 位数字计算从 1 到 0 的转换

php - 在 PHP 中传输文件

linux - tar 创建一个空文件夹,我该如何摆脱它?

linux - ^[ :blank:] does not match dot in sed

c++ - 将 SDL_Cursor 与 unique_ptr : error incomplete type is not allowed 一起使用