2016-03-15 3 views
1

Когда я делаю пустой проект в VS 2015 автоматически помещает эти библиотеки в "дополнительных зависимостей":Visual Studio 2015 по умолчанию дополнительные библиотеки

kernel32.lib; user32.lib; gdi32.lib; winspool.lib; comdlg32 lb; advapi32.lib; shell32.lib; ole32.lib; oleaut32.lib; uuid.lib; odbc32.lib; odbccp32.lib;% (AdditionalDependencies)

Я не знаю, для чего больше всего, можно ли их безопасно удалить?

+1

_ «их можно безопасно удалить?» _ Наверное, нет. Они добавляются по некоторым причинам в зависимости от типа проекта. –

+0

Они являются основными библиотеками ОС, удаление таких, как 'kernel32.lib', почти наверняка приведет к сбою компоновщика. В любом случае, любые библиотеки, для которых вам не нужны какие-либо функции, просто не попадут в таблицу импорта результирующего двоичного файла. – Olipro

+0

uuid.lib для GUID, который используется как глобально уникальный идентификатор для чего-либо (в частности, объектов COM), который находится на компьютерах. Если вы не используете объекты COM или генерируете GUID для использования как нечто уникальное (например, уникальное имя для временных файлов), тогда его совершенно безопасно удалить. 'uuid.lib' не был добавлен по умолчанию до yr 2000, но когда' COM' стал настолько распространенным, команда VS сделала его частью зависимостей по умолчанию. –

ответ

3

Многие из них можно безопасно удалить. Вот краткое изложение того, что они предназначены для:

  • kernel32: процесс и управление потоками, файлами и устройства ввода/вывода, распределения памяти (держать это, C и C++ библиотеки времени выполнения и компилятор сгенерированный код использует его)
  • user32: Управление окнами и меню (сохранить это, используя GUI, можно удалить для консольных приложений) Базовый набор виджетов (= предопределенные классы окон, такие как кнопки и флажки и полосы прокрутки).
  • gdi32: Рисование (держать это при использовании пользовательских графика отрисовывается, можно удалить, если только с помощью виджетов)
  • comctl32: Необычные новые виджеты, как деревья, ListViews и прогресс баров
  • winspool: Дополнительное использование печати помимо того, что охватывает GDI. Я всегда удаляю его.
  • comdlg32: общие диалоги, как открыть и сохранить Диалоги File
  • advapi32: поддержка реестра, учетная запись пользователя и контроль доступа, криптография. Обычно я нуждаюсь в этом, ваши потребности могут отличаться.
  • shell32, shlwapi: Панель задач и панели уведомлений UI и другие вспомогательные функции, такие как предопределенные папки и функции манипуляции с трафиком. Часто полезно, но многим приложениям это не понадобится.
  • ole32, oleaut32: OLE является основой для ActiveX, DCOM и т. Д. Многие из новых API-интерфейсов ОС являются COM-объектами, поэтому вам, вероятно, необходимо сохранить это.
  • uuid: Расширенное использование OLE, возможно, не нужно.
  • odbc32, odbccp32: Доступ к базе данных с использованием очень старого и недружелюбного API. Я всегда удаляю их.

Искаженные библиотеки не входят в список по умолчанию, но более полезны, чем половина тех, которые есть.

1

Нет, вы не можете удалить их. Это библиотеки, которые взаимодействуют с Windows.

Вам не о чем беспокоиться. .lib действительно маленькие, и .dll s, к которым они относятся, уже присутствуют как часть вашей установки Windows.

Смежные вопросы