Я перекрестно скомпилировал приложение C++ с Visual Studio 2012 Express в Windows 7 (целевая платформа = встроенная Windows XP). Целевой ЦП не поддерживает инструкции SSE или SSE2. Поэтому я хотел бы иметь возможность дважды проверить, что DLL и EXE, которые я создаю, не используют никаких инструкций SSE или SSE2. Как я могу это сделать?Проверьте, использует ли DLL инструкции SSE
1
A
ответ
0
Это, как вы можете сделать это быстро и грязно:
- Run Visual Studio командной строки
- вызова
dumpbin /disasm required.dll > dll_disasm.asm
- Посмотрите инструкции общего SSE/SSE2, например
movss
,xmm0
илиxmm1
Если нет инструкции SSE/регистры найдены в DLL, вы не хорошо, если DLL не загружает что-то другое.
Смежные вопросы
- 1. SSE Инструкции: Byte + Short
- 2. Бенчмаркинг Инструкции SSE
- 3. C++ использует инструкции SSE для сравнения огромных векторов ints
- 4. Где инструкции SSE превосходят обычные инструкции
- 5. нахождение инструкции neon, соответствующей инструкции sse
- 6. Как использовать логические инструкции SSE
- 7. сочетающие OpenMP и SSE инструкции
- 8. Инструкции SSE в функции ASM
- 9. Использует ли gcc инструкции Intel SSE 4.2 для обработки текста, если они доступны?
- 10. Проверьте, использует ли блок персонализацию
- 11. Как определить размер инструкции предварительной выборки SSE?
- 12. SSE Инструкции: Найти элементы выше порога
- 13. Инструкции SSE, игнорирующие теоретическую пропускную способность ОЗУ
- 14. Инструкции SSE нужны для выравнивания данных
- 15. Проверьте, используется ли DLL другим приложением
- 16. Имеются ли инструкции x86-SSE для автоматического выпуска?
- 17. Инструкции CIL: Проверьте, вызван ли метод геттера?
- 18. Что означает UnsignedSaturate в инструкции SSE?
- 19. Использует HTML5 Server-sent-events (SSE) ReSTful?
- 20. Использует ли .NET WSOCK32.DLL вообще?
- 21. Проверьте, не загружена ли библиотека dll? (Java)
- 22. Проверьте, не использует ли жесткий диск RAID
- 23. Проверьте, использует ли проект iOS Cocoapods
- 24. Проверьте, использует ли сайт SSL, используя CURL
- 25. Проверьте, какой браузер использует
- 26. Проверьте версию DLL OS
- 27. проверьте, IsNumeric использует Me.Controls()
- 28. Успешная компиляция инструкции SSE с qmake (но SSE2 не распознается)
- 29. DLL использует другую DLL в C++
- 30. Включает ли gcc 4.8.1 sse по умолчанию?
Нет смысла дважды проверять, когда вы можете просто установить параметр компиляции правильно. –
https://msdn.microsoft.com/en-us/library/7t5yh4fd%28v=vs.110%29.aspx/arch компилятор. –
@HansPassant Я знаю об этом компиляторе, и я его использую. Тем не менее, я заметил, что наша собственная сборка QtCore4.dll разбилась на целевой платформе из-за незаконной инструкции. После проверки с помощью OllyDbg оказалось, что в нем все еще есть инструкции SSE, хотя я настроил Qt 4.8.6 с параметрами -no-sse и -no-sse2. Теперь я пытаюсь понять, почему в DLL все еще есть инструкции SSE. Я пытаюсь отследить, где в нашей сборке Qt мы забываем опцию/arch: IA32. Я планирую написать какой-то сценарий, отсюда этот пост. –