Linkowanie C i asma

0

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

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?

1 użytkowników online, w tym zalogowanych: 0, gości: 1