Próbuję użyć funkcji w złożeniu, wywoływanej z projektu C. Ta funkcja ma wywoływać funkcję libc, powiedzmy, printf()
, ale nadal pojawia się błąd segmentacji.wywoływanie funkcji złożenia z c
W pliku .c mam deklaracja funkcji powiedzmy
int do_shit_in_asm()
W pliku .asm mam
.extern printf
.section .data
printtext:
.ascii "test"
.section .text
.global do_shit_in_asm
.type do_shit_in_asm, @function
do_shit_in_asm:
pushl %ebp
movl %esp, %ebp
push printtext
call printf
movl %ebp, %esp
pop %ebp
ret
Wszelkie
wskaźniki
komentarze będą mile widziane.
as func.asm -o func.o
gcc prog.c func.o -o prog
+1 dla nazwy funkcji –
"Wszelkie wskazówki byłyby mile widziane": int * ptr; – Sapph
@Sapph +1 ale to nie pomaga :)) –