Вы определенно можете увидеть код сборки, сгенерированный g ++, используя опцию "-S".
Я не думаю, что можно отобразить эквивалентный шаблонный код "C ++" - но я все же хотел бы, чтобы разработчик g ++ отвечал почему - я не знаю архитектуру gcc.
При использовании ассемблера вы можете просмотреть полученный код на предмет того, что напоминает вашу функцию.В результате выполнения gcc -S -O1 {yourcode.cpp} я получил это (AMD64, gcc 4.4.4)
_Z3addIiET_S0_S0_:
.LFB2:
.cfi_startproc
.cfi_personality 0x3,__gxx_personality_v0
leal (%rsi,%rdi), %eax
ret
.cfi_endproc
, что на самом деле является просто добавлением int (leal).
Теперь, как расшифровать манипулятор имен c ++?есть утилита под названием c ++ filter, вы вставляете каноническое (C-эквивалентное) имя и получаете расколотый эквивалент c ++
qdot@nightfly /dev/shm $ c++filt
_Z3addIiET_S0_S0_
int add<int>(int, int)