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