Цитата Сообщение от anthrwpos Посмотреть сообщение
Вообще по общепринятой терминологии, макрос - это идентификатор, который транслируется в некий неизменный участок кода.
Сколько раз его транслятор встретит - столько раз вместо него вставит этот участок.
Функция - это идентификатор, который компилируется в адрес вызова, по которому начинается сама функция.
Расскажите, пожалуйста, в какой литературе используется такая терминология.
В C, C++, LISP, Scala понятие макроса и функции кардинально отличаются от того, что вы тут пишете.

Прежде чем жонглировать понятиями макроса-функции разберитесь с самими понятиями: https://ru.wikibooks.org/wiki/%D0%9B...BE%D1%81%D1%8B, http://alenacpp.blogspot.ru/2005/01/blog-post_28.html и т.д.