Файл amiga_mpega.c
начинается с #ifdef AMIGA_MPEGA
и заканчивается соответствующим #endif
.
. Это приводит к тому, что файл выглядит "пустым" для компилятора, если макрос AMIGA_MPEGA
не определено.
Это делается, если вы компилируете файл, содержимое которого вы на самом деле не хотите иметь в создаваемой программе.
Одна (из разных) ситуаций, где это имеет смыслэто когда вы настраиваете свой проект таким образом, что все файлы C в определенной директории компилируются.Однако в некоторых ситуациях вы не хотите, чтобы в вашем проекте были все файлы C.
Ваш проект может быть написан для работы в разных операционных системах, а некоторые файлы C предназначены только для определенной операционной системы.
Используя переключатель компилятора (-DAMIGA_MPEGA
) в вашем Makefile (или любой другой инструмент сборки, который вы используете), вы выбираете, хотите ли вы скомпилировать файл C или нет.Если вы не хотите компилировать файл C, файл C все равно компилируется, но из-за #ifdef
файл C кажется компилятору пустым, поэтому фактическое содержимое файла C не включено в вашу программу.