Macie jakiś prosty kod do linkowania C i asma? Tak aby z asm wywoływał funkcję main w C i było można w C wywoływać funkcję typu GLOBAL z asma. Proszę o jak <ort>najprostrzy </ort>kod bo jestem z tego noga.
0
0
asm (nasm):
[bits 32]
[global _foo]
_foo:
mov eax, 5
ret
(pod linuxem lub z -fno-leading-underscore dajesz bez _)
c (gcc):
extern int foo();
void main()
{
printf("%d", foo());
}
albo zobacz tu http://4programmers.net/article.php?id=601.
0
Dzięki :D zobacze czy działa :D
Chyba nigdy nie naucze sie tego linkowania :P programować umiem ale linkować nie :P
0
DObra już wszsytko idzie bez errorów :D
tylko jak robie tak: ld plik1.o plik2.o
to tworzy się plik a.out który ma 1,55 KB, nie powinien tyle zajmować. Chce uzyskac plik binarny. A w tym pliku jest wpisany system nakim został skompilowany itp niepotrzebne rzeczy dlamnie. jak zrobić binaria?
0
Przeciez wszystko masz na google
http://www.google.pl/search?q=ld+manual -> http://www.gnu.org/software/binutils/manual/ld-2.9.1/ld.html
Wystarczyly by checi.