Мне нужно использовать много #ifdef i386 и x86_64 для кода, специфичного для архитектуры, и несколько раз #ifdef MAC или #ifdef WIN32... так далее для конкретной платформы код.
Мы должны хранить общую базу кода и переносить.
Но мы должны следовать указаниям, что использование #ifdef строгое. Я не понимаю, почему?
В качестве дополнения к этому вопросу я также хотел бы понять, когда использовать #ifdef?
Например, dlopen() не может открыть 32-битный двоичный файл во время работы из 64-битного процесса и наоборот. Таким образом, его более специфичная архитектура. Можем ли мы использовать #ifdef в такой ситуации?