-3

У меня есть программное обеспечение для клавиатуры / набора текста, разработанное в 32-разрядной версии, и я хочу запустить его в 64-разрядной версии Windows 7. В настоящее время я получаю сообщение об ошибке 52 - неверное имя или номер файла при каждой попытке запустить программное обеспечение.

Есть ли загрузка или процесс, который позволяет мне запускать 32-битное программное обеспечение как есть?

1 ответ1

2

Вы не можете конвертировать ваши 32-битные программы в 64-битные с помощью любого программного обеспечения. Но вам также не нужно конвертировать его, потому что 64-битная архитектура поддерживает все 32-битные программы.

Рассмотрим различия между 32-битными и 64-битными моделями данных. Самым большим отличием между 32-битной и 64-битной средами компиляции является изменение моделей типов данных. Модель типа данных C для 32-разрядных приложений - это модель ILP32, названная так потому, что типы int и long и указатели являются 32-разрядными типами данных. Модель типа данных для 64-битных приложений - это модель данных LP64, названная так потому, что типы long и указатель растут до 64 бит. Остальные целочисленные типы C и типы с плавающей запятой одинаковы в обеих моделях типов данных.

Преобразование 32-битных приложений в 64-битные: проблемы

Основной причиной проблем при преобразовании 32-разрядных приложений в 64-разрядные приложения является изменение размера типа int относительно типов long и pointer. При преобразовании 32-разрядных программ в 64-разрядные программы размер только длинных типов и типов указателей изменяется с 32 до 64 бит; целые числа типа int остаются размером 32 бита. Это может вызвать проблемы с усечением данных при назначении указателей или длинных типов для типов int. Кроме того, проблемы с расширением знака могут возникать при назначении выражений с использованием типов короче, чем размер типа int, беззнаковому длинному или указателю.

Чтобы читать дальше, вот источник. Источник: http://www.oracle.com/technetwork/server-storage/solaris/ilp32tolp64issues-137107.html
В этой статье рассказывается, как выполнить преобразование с изменениями в коде.
Взято из: https://www.quora.com/How-do-I-convert-a-32-bit-software-into-a-64-bit

Насколько я понимаю, вы должны изменить исходный код в соответствии с вышеуказанными процедурами, изменив типы переменных. Кроме того, я погуглил ошибку, которая у вас есть, может быть не связана с конверсией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .