int x = SUM(2, 3);
printf("%d", x);
return 0;
}
чем макрос отличается от функции sum в данном случае?
gcc -E
посмотри чо будет с твоим сурсом
Может mul а не sum?
Макрос заменит просто твой SUM(A, B) на текст A × B Функция же будет вызвана и туда пойдут переменные (т.е. взаимодействие со стеком)
т.е. не будет вызова функции, а значит код будет быстрее
Держи надежный вариант https://godbolt.org/z/oa8W59vhP
Обсуждают сегодня