Компилляция под 86 & 64 — C++?

Приветствую, нашёл исходник который делает инжект dll в адресное пространство, мне надо чтобы я мог свой код выводить на экран запущенной программы. Но столкнулся с такой проблемой, что скомпиллировал свой основной код программы под x32 и работает он как под 64 так и под 32 битными системами. Так почему же эта программа работает только 32, если под 32 скомпиллена, и только 64 под 64 компиллером. Можно ли эту программу скомпиллировать таким образом, чтобы работало и под 32 и 64, если нет, каким образом сделать обработку из единого приложения?
P.S. Я так думаю что эти приложения требуют определенную битность из-за работы с памятью, но это лишь моё предположение.
Code: https://github.com/stephenfewer/ReflectiveDLLInjection
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Проблема в том, что у вас dll. А для dll разрядность программы должна совпадать с разрядностью dll. Вам нужны обе версии.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Stopy
Программы под 32 бита будут работать на 64битных системах, по крайней мере должны. Разница в выделяемой памяти для переменных. А системе с большими битами все равно скольких битный код, если не больше чем она может воспроизвести. Если не прав - поправьте
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы