Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?
Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
Здравствуйте, ArtK, Вы писали:
AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++? AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
смотреть самому, начиная с простого С. без оптимизации
AK>Я надеялся что кто-то уже проделал эту работу и как-то систематизировал знания.
Знания систематизированы в книжках по компиляторам.
Но они ВСЕ объясняют генерацию кода на примере виртуальной машины.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, ArtK, Вы писали:
AK>Я надеялся что кто-то уже проделал эту работу и как-то систематизировал знания.
Эту работу уже проделали разработчики компиляторов.
Но все дело в том, что никакого четкого соответствия конструкций языка машинным командам нет.
Машинный код, сгенерированный для разных архитектур, разными компиляторами, даже одним и тем же компилятором с разными настройками может радикально отличатся.
Единственное требование — соответствие машинного кода "видимому поведению" высокоуровневого кода на C++ (которое, кстати, тоже не всегда определено).
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, ArtK, Вы писали:
AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++? AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
Здравствуйте, ArtK, Вы писали:
AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++? AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
Там нет 1:1 соответствия, так что лучше открывать дизасм-окошко в Студии, там будет строка сырцов и пачка асм-команд, которые примерно к ней относятся.
Здравствуйте, ArtK, Вы писали:
AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++? AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
Здравствуйте, ELazin, Вы писали:
A>>компилируй с -S и смотри
EL>Видимо недостаточно мало людей заходит в этот раздел форума, нужно сделать так, чтобы их было еще меньше, я правильно тебя понял?
а ты значит считаешь что количество важнее качества?
тогда тебе сюда — каждый день новые вопросы