Показать сообщение отдельно

линковка функций в сишке
  #1  
Старый 19.11.2007, 00:00
zzz_nec
Новичок
Регистрация: 17.11.2007
Сообщений: 1
С нами: 9727026

Репутация: 0
По умолчанию линковка функций в сишке

есть код на C

void foo(void);

void main(){
foo();
}

void foo(void){
return;
}

компилирует,линкуем...смотр им дизасм...там што то вроди

j_foo PROC
jmp _foo
j_foo ENDP

_main PROC
push ebp
mov ebp,esp

call j_foo (*)

mov esp,ebp
pop ebp
ret
_main ENDP

_foo PROC
push ebp
mov ebp,esp

mov esp,ebp
pop ebp
ret
_foo ENDP

а как сделать што бы в (*) было сразу call _foo
или
как получить адрес самой функции, а не джампа на нее

единственное што знаю - это написать #pragma alloc_text("sect",foo)
и получить адрес начала секции
 
Ответить с цитированием