В приложении, которое я поддерживаю, мы столкнулись с проблемой ограничений дескриптора файла, влияющих на stdlib. Эта проблема касается только 32-битной версии стандартной библиотеки.
Я разработал исправление для своего кода и хотел бы его реализовать, но только при компиляции для 32-битного исполняемого файла. Какой символ препроцессора я могу использовать #ifdef, чтобы определить, компилируется ли код для 32- или 64-битной цели?
EDIT
Извините, не упомянул, код кросс-платформенный, Linux, Windows, Solaris и несколько других Unix-разновидностей, в основном с использованием GCC для компиляции. Какие-нибудь де-факто стандарты, которые я могу использовать кроссплатформенные?
РЕДАКТИРОВАТЬ 2
Я нашел несколько определений "__ILP23" и "__LP64", которые, кажется, могут работать ... обсуждение здесь объясняет предпосылки для платформы Unix. Кто-нибудь имел опыт использования этих определений? Это будет пригодно для использования?