Здравствуйте, я заметил что при переносе программы написанной на MVS C++ на другой компьютер где не установлена MVS, требуется дополнительно с ней включать некоторые dll из MVS, и даже для обычного хелловорда требуется две библиотеки MSVCP120.dll и MSVCR120.dll. Собственно вопрос: можно ли при создании проекта в VS посмотреть какие стандартные dll будут использоваться, что бы потом не гадать? И чисто теоретически, зачем вообще нужны эти dll библиотеки для элементарных консольных программ?(для приложений созданных в Qt Creator(MinGW) например, вообще целую кучу dll требуется таскать вместе с программой). Буду очень благодарен за развернутый ответ.
- Вопрос задан более трёх лет назад
- 7008 просмотров
Решения вопроса 1
противоречивый, сложный, весь компьютерный.
На сколько я знаю, чтобы не гадать ставят на клиента версию пакета VS в которой проект компилился
www.microsoft.com/en-us/download/details.aspx?id=40784
Ответ написан более трёх лет назад
Скинул WinLock школьнику + мамка
Нравится 1 2 комментария
Источник: qna.habr.com
Как узнать какие dll использует программа
Одним и тем же файлом DLL может одновременно пользоваться несколько программ. Это вызывает проблемы, например, в случае необходимости удалить файл из системы. Чтобы снять занятость файла, нужно закрыть все программы, которые его блокируют в настоящий момент.
ListDLLs версии 3.2
Скачивание списков DLL(307 КБ)
Введение
ListDLLs — это служебная программа, которая сообщает библиотеки DLL, загруженные в процессы. Его можно использовать для перечисления всех библиотек DLL, загруженных во все процессы, в конкретный процесс или для перечисления процессов, которые были загружены с определенной библиотекой DLL. Списки DLL также могут отображать полные сведения о версии библиотек DLL, включая их цифровую подпись, и их можно использовать для проверки процессов на наличие неподписанных БИБЛИОТЕК DLL.
Использование
listdlls [-r] [-v | -u] [имя_процесса|pid]
listdlls [-r] [-v] [-d dllname]
имя процесса | Библиотеки DLL дампа, загруженные процессом (частичное имя принято). |
pid | Библиотеки DLL дампа, связанные с указанным идентификатором процесса. |
dllname | Показывать только процессы, которые загрузили указанную библиотеку DLL. |
-r | Помечайте библиотеки DLL, перемещенные, так как они не загружаются по базовому адресу. |
-u | Список неподписанных библиотек DLL. |
-v | Отображение сведений о версии библиотеки DLL. |
Примеры
Перечислить библиотеки DLL, загруженные в Outlook.exe, включая сведения о их версии:
Как очень просто найти почти любой DLL файл в интернете
listdlls -v outlook
Перечислить все неподписанные библиотеки DLL, загруженные в любой процесс:
listdlls -u
Отображение процессов, загруженных MSO.DLL:
listdlls -d mso.dll
Скачивание списков DLL(307 КБ)
Выполняется в:
- Клиент: Windows Vista и более поздние версии
- Сервер: Windows Server 2008 и более поздних версий
- Nano Server: 2016 и более поздние версии
Источник: learn.microsoft.com