Каковы критические отличия для программиста на C++ под x86 и x64 платформы?
написал я враппер для одной из дллек сторонней софтины.
у себя тестил на Vista и XP обе 32 битные и на обоих работает.
отдал клиентам, пишут не стартует приложение... проверил сам через тим вьювер все на правильность. действительно так.
у клиента стоит Windows 7 64-х битная. Ничего отлаживать там конечно не возможно и это было чисто исключение, что мне предоставили доступ по тим вьюверу.
Собственно и вопрос, что может быть такого не совместимого в том что я напрогал?
у меня там ставятся хуки на АПИ функции и внутренние функции софтины.
активно используются указатели на места в памяти софтины.
2. Какие API-функции перехватываете и чем?
чтобы было понятно о чем идет речь: http://segaempire.somee.com/files/schema.jpg
до системного журнала не добрался. дело в том, что у пользователя есть большое недоверие к подобным вещам, и он мог по просту отключить меня, если б я полез дальше чем он предоставил.
перехватываю send и GetAdaptersInfo. с помощью модифицированного примера из этой темы http://forum.codenet.ru/threads/67769-Как-правильно-ставить-хук-на-GetAdatersInfo
кстати ни у кого антивирь не ругается при посещении этого форума? у меня авг про эксплойт постоянно пишет, который он заблокировал
Поставьте себе 64бит да отлаживайте.
к тому же я не уверен, что установка х64 винды на х86 проц соблюла бы чистоту эксперимента
к тому же задача решена и тему можно удалить... проблема оказалась совсем в другом
Цитата: Lei fang
проблема оказалась совсем в другом
В чем, если не секрет? Я просто лично сталкивался с проблемами переноса с 32 бит на 64 при перехвате GetAdaptersInfo...
на других компах банально не хватало библиотек.
выставил в visual c++ в свойствах проекта на вкладке c/c++ -> создание кода -> библиотека времени выполнения: Многопоточная (/MT)
а раньше стояло Многопоточная DLL(/MD)
мой враппер увеличился в размерах раз в 5, но стал запускаться на чужих компах не зависимо от архитектуры...
врятли ваш случай. у меня проблема не имела какого-то отношения к архитектурам.
Разрешите полюбопытствовать тогда уж (у всех кто это делал), а в чем такая популярность перехвата GetAdaptersInfo() ?
иногда оригинальные разработчики слишком "стараются", так что за ними приходится подправлять глупости не возможности запускать несколько сетевых приложений на одном компе