Генерация асемблерного кода
От: ArtK  
Дата: 21.07.15 06:04
Оценка: -1 :)
Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?
Например приведение типов, вызов конструктора, созание локальной переменной и т.д.
Re: Генерация асемблерного кода
От: BulatZiganshin  
Дата: 21.07.15 06:21
Оценка: +2
Здравствуйте, ArtK, Вы писали:

AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?

AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.

смотреть самому, начиная с простого С. без оптимизации
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: Генерация асемблерного кода
От: ArtK  
Дата: 21.07.15 07:41
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

Я надеялся что кто-то уже проделал эту работу и как-то систематизировал знания.
Re[3]: Генерация асемблерного кода
От: LaptevVV Россия  
Дата: 21.07.15 08:02
Оценка:
AK>Я надеялся что кто-то уже проделал эту работу и как-то систематизировал знания.
Знания систематизированы в книжках по компиляторам.
Но они ВСЕ объясняют генерацию кода на примере виртуальной машины.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Генерация асемблерного кода
От: VTT http://vtt.to
Дата: 21.07.15 08:07
Оценка: +4
Здравствуйте, ArtK, Вы писали:

AK>Я надеялся что кто-то уже проделал эту работу и как-то систематизировал знания.


Эту работу уже проделали разработчики компиляторов.
Но все дело в том, что никакого четкого соответствия конструкций языка машинным командам нет.
Машинный код, сгенерированный для разных архитектур, разными компиляторами, даже одним и тем же компилятором с разными настройками может радикально отличатся.
Единственное требование — соответствие машинного кода "видимому поведению" высокоуровневого кода на C++ (которое, кстати, тоже не всегда определено).
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Re: Генерация асемблерного кода
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 21.07.15 08:24
Оценка: 5 (2)
Здравствуйте, ArtK, Вы писали:

AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?

AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.

http://www.agner.org/optimize/
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2010/video-lectures/lecture-11-what-compilers-can-and-cannot-do/

Дизасм также стоит смотреть в каждом конкретном, интересном случае.
Re: Генерация асемблерного кода
От: Mr.Delphist  
Дата: 21.07.15 13:43
Оценка: +1
Здравствуйте, ArtK, Вы писали:

AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?

AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.

Там нет 1:1 соответствия, так что лучше открывать дизасм-окошко в Студии, там будет строка сырцов и пачка асм-команд, которые примерно к ней относятся.
Re: Генерация асемблерного кода
От: Abyx Россия  
Дата: 21.07.15 13:57
Оценка: +1 -1
Здравствуйте, ArtK, Вы писали:

AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?

AK>Например приведение типов, вызов конструктора, созание локальной переменной и т.д.

компилируй с -S и смотри
In Zen We Trust
Re[2]: Генерация асемблерного кода
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 22.07.15 08:52
Оценка:
A>компилируй с -S и смотри

Видимо недостаточно мало людей заходит в этот раздел форума, нужно сделать так, чтобы их было еще меньше, я правильно тебя понял?
Re[3]: Генерация асемблерного кода
От: Abyx Россия  
Дата: 22.07.15 16:42
Оценка:
Здравствуйте, ELazin, Вы писали:

A>>компилируй с -S и смотри


EL>Видимо недостаточно мало людей заходит в этот раздел форума, нужно сделать так, чтобы их было еще меньше, я правильно тебя понял?


а ты значит считаешь что количество важнее качества?
тогда тебе сюда — каждый день новые вопросы
In Zen We Trust
Re[4]: Генерация асемблерного кода
От: ELazin http://rsdn.ru/forum/prj/6225353.1
Автор: ELazin
Дата: 26.10.15
Дата: 23.07.15 08:00
Оценка:
A>а ты значит считаешь что количество важнее качества?

Во первых, вопрос вполне нормальный и даже интересный.
Во вторых, пассивно-агрессивный стиль ведения дискуссии не приводит к повышению ее качества.
Re: Генерация асемблерного кода
От: ArtK  
Дата: 23.07.15 09:30
Оценка:
Здравствуйте, ArtK, Вы писали:

Наконец я получил минус за вопрос на RSDN!
Это определённое достижение считаю.

А теперь по делу: вот тут неплохая подборка про кишки C++.
Re: Генерация асемблерного кода
От: Maxim Yurchuk  
Дата: 23.07.15 09:30
Оценка:
Здравствуйте, ArtK, Вы писали:

AK>Где можно почитать про то, в какой код на ассемблере раскрываются разные конструкции языка C++?


Мне кажется, проще всего вот здесь поэкспериментировать: http://gcc.godbolt.org/
Re[2]: Генерация асемблерного кода
От: BulatZiganshin  
Дата: 23.07.15 11:54
Оценка:
Здравствуйте, ArtK, Вы писали:

AK>А теперь по делу: вот тут неплохая подборка про кишки C++.


и это по одному только object layout!
Люди, я люблю вас! Будьте бдительны!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.