Я видел много людей, которые задавали вопросы портирования с 32-битной до 64-битной машины. Но разве это не является общим для кода порта, написанного на 64-битной до 32-битной. Я пытаюсь портировать плагин с 64-битной до 32 бит в C, но сталкивается с подобными проблемами в таких случаях, как хранение void * до 64-битных целых чисел и наоборот.Портирование 64-битного кода на 32-битный компьютер
Что нужно делать при изменении кода, так что тот же код работает на обеих машинах (i386 & x86_64)? Я не думаю, что имеет смысл использовать uint64_t * на 32-битной машине вместо void *, которая является 32-битной? Существует ли какой-либо обобщенный подход для таких случаев?
Указатели никогда не должны храниться в целых числах фиксированного размера. Если вам нужно сохранить указатель в целочисленном типе, правильный тип - 'uintptr_t', но вы действительно не должны хранить указатели в целых объектах вообще. –