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