DLL является двоичной. Пока ваш язык может использовать двоичную библиотеку (с ОС, для которой был скомпилирован двоичный файл), у вас все должно быть в порядке (см. Исключения ниже). LIB-файлы предназначены для компилятора, поэтому вы сможете использовать их только на языках C / C ++ во время компиляции.
Исключением являются .NET и COM. .NET генерирует специальные библиотеки DLL для сборки, которые будут использоваться другими языками .NET (C #, VB.NET, C ++ / CLI, IronPython и т. Д.). COM также генерирует специальные библиотеки DLL, в которых компоненты (специализированные классы) доступны через библиотеку DLL. Собственно, C ++ и VB6 поддерживают COM. Языки .NET могут получать доступ к COM DLL через взаимодействие. Многие другие языки также поддерживают привязки COM различными способами.
Перейдите здесь для обсуждения этой темы и более подробной информации о различиях.