Я пытаюсь сделать что-то вроде следующего:
#ifdef 64-bit
#define DECIMAL_FORMAT %ld
#else
#define DECIMAL_FORMAT %d
#endif
.
intptr_t d;
.
printf("Some message with DECIMAL_FORMAT in the middle of it\n", d);
Переменная 'd', относящаяся к типу 'intptr_t', нуждается в спецификаторе формата% d 'на 32-битных машинах и спецификаторе формата'% ld 'на 64-битных машинах. Я ищу решение для компиляции кода как на 32-битных машинах, так и на 64-битных машинах без внесения изменений в командную строку GCC или исходный код.