Как мне узнать, как компилятор C ++ реализует что-то, кроме проверки генерируемого машинного кода?

Предположим, я создал набор классов для абстрагирования чего-то, и теперь я беспокоюсь, сможет ли мой компилятор C ++ снять эти оболочки и выдать действительно чистый, краткий и быстрый код . Как мне узнать, что компилятор решил сделать?

Единственный способ, который я знаю, - это проверить дизассемблер . Это хорошо работает для простого кода, но имеет два недостатка - компилятор может делать это по-другому, когда он снова компилирует тот же код , а также анализ машинного кода нетривиален, поэтому требует усилий.

Как еще мне узнать, как компилятор решил реализовать то, что я закодировал на C ++?

15
задан Community 23 May 2017 в 11:44
поделиться