Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Глупые вопросы часть 3 :) 01.11.02 10:36 Число просмотров: 1045
Автор: Ultra Статус: Незарегистрированный пользователь
|
> > #include <stdio.h>
> typedef void (*PROC)();
>
> void main()
> {
> printf( "a" );
> PROC p1;
> p1 = (PROC)main;
> // p1 = (PROC)0x401020;
> p1();
> }
> ---
> > на строчку p1 = (PROC)main; ставим точку останова. идем в > дебагере. видим что main = 0x401020, а p1 (после > присваивания) 0x40100a. Во как ! > И это не понятно. > Но чудеса продолжаются: раскоментариваем строку p1 = > (PROC)0x401020; и видим что программка все равно работает. > ей пофиг чему будет равняться p1: 0x40100a или 0x401020 - > чудеса... Зря ты так над С эксперементируешь, это тебе не асм, тут все намного сложнее, ведь это алгоритмический язык программирования.
А на счет твоей проги, я немного не понял, инфы мало. Если ты компилишь прогу под виньдовз, то почитай exe`шный фал в Hex`e и все поймешь. Просто виндовские проги начинают работать где-то с середины кода....
Я тоже сталкивался с такой проблеммой, и мне объяснили ее так.
|
|
|