HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

линковка функций в сишке
  #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)
и получить адрес начала секции
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уязвимости популярного Софта, или ловим невидимку А(-)ДР()мЕдиЧ.ехе Уязвимости 0 11.11.2007 16:31
Процедура определения набора экспортируемых функций в библиотеке (ассемблер) 0x0c0de С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 3 09.06.2007 20:50
Microsoft лишила многих клиентов одной из главных функций защиты Vista Helios Мировые новости. Обсуждения. 6 05.02.2007 10:15



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.