Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2013, 14:30   #1
ViktorKozlov
Пользователь
 
Регистрация: 24.02.2013
Сообщений: 10
По умолчанию Адрес функции

Доброго времени суток

Допустим, хочу узнать адрес функции

Код:
void fnc(){}
 
int main() {
    cout<<&fnc<<endl;
}
Почему выводится один адрес, а в отладчике показывается совсем другой? И какой из них верный?
ViktorKozlov вне форума Ответить с цитированием
Старый 24.02.2013, 14:34   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

А вы выведете без амперсанда...
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 24.02.2013, 14:40   #3
ViktorKozlov
Пользователь
 
Регистрация: 24.02.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Ezhik Kihze Посмотреть сообщение
А вы выведете без амперсанда...
Что с ним, что без него выводится одинаково

Код:
cout<<&fnc<<endl;
cout<<fnc<<endl;
А в отладчике по-прежнему показывается совсем другой адрес
ViktorKozlov вне форума Ответить с цитированием
Старый 24.02.2013, 14:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
void foo(){printf("2");}
int _tmain(int argc, _TCHAR* argv[])
{
	int x;
	__asm{
		mov [x], offset foo
	}
	printf("%x",x);
	getchar();
	return 0;
}
Подходит?

Кстати ты прежде чем получать адреса открой дизассемблер в компиляторе и посмотри как он компилирует. VS например ставит заглушки, на которые ты и получаешь адресс, а не на само начало функции.
I'm learning to live...

Последний раз редактировалось Stilet; 24.02.2013 в 14:56.
Stilet вне форума Ответить с цитированием
Старый 24.02.2013, 15:29   #5
ViktorKozlov
Пользователь
 
Регистрация: 24.02.2013
Сообщений: 10
По умолчанию

Понятно, всем спасибо
ViktorKozlov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка функции отсылка на майл Адрес ProGec4 Общие вопросы C/C++ 1 17.02.2012 20:31
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Получить адрес функции в классе coNsept Общие вопросы C/C++ 3 02.03.2011 02:43
как правильно прописать адрес в функции? (формула) coldis Microsoft Office Excel 3 18.02.2009 09:47
Адрес и размер функции Ivan_32 Общие вопросы C/C++ 3 11.02.2009 19:58