Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
А на фига углубляться в дизассемблер? 10.03.05 12:08 Число просмотров: 2738
Автор: amirul <Serge> Статус: The Elderman
|
> Заменив в этих примерах "int a" на "int *a" не зменилось > вообще ничего - код остался совершенно таким же. Компилятор > при построении экзэшника не сделал разницы между указателем > и обычным int'ом.
Никто как бы и не удивлен тем, что информация о типах теряется при компиляции. Вообще то если кто не заметил, мы говорили не о том, что БУДЕТ РАБОТАТЬ (если бы вопрос ставился таким образом, достаточно было бы одного теста), а о том, что БОЛЬШЕ СООТВЕТСВУЕТ СТАНДАРТУ
> Получается, что следующие записи эквивалентны: (a), (a!=0), > (a!=NULL). От следующих: (!a), (a==0), (a==NULL) они
А ты уверен, что это не поменятеся в будущем? Чем ближе ты находишься к существующему стандарту, тем меньше вероятность, что комитет по стандартизации в будущем поломает твою программу.
> отличаются только иструкцией je вместо jne. При этом
А вот тут по фигу - кодогенерация весьма хрупкая штука (не в смысле что может сломаться, а в смысле что при малейшем телодвижении может давать совершенно другой код). А все потому, что оптимальная кодогенерация - NP-полная задача и для ее решения используются эвристические итерационные методы которые в пределе должны сходиться к оптимальному результату.
> Си'шный тип (указатель/не указатель, char/не char) вообще > оказывается не существенным.
А почему по твоему она называется статической типизацией (в отличие от динамической)?
|
|
|