Это действительно зависит. Предоставляет ли библиотека только внешние функции «C», где память управляется прямыми методами Win32 (CoTaskMemAlloc и т. Д.), Или вызывающая сторона никогда не освобождает память, выделенную вызываемой или наоборот? Вы полагаетесь только на базовые библиотеки, которые не сильно изменились со времен VS 6? Если так, то с тобой все будет в порядке.
Есть две основные вещи, за которыми нужно следить. Изменения в глобальных переменных, используемых сторонними библиотеками, и изменения в структуре структур, классов и т. Д., Определенных этими сторонними библиотеками. Например, распределитель памяти CRT, вероятно, изменил свои скрытые структуры управления распределением между двумя версиями, поэтому, если одна версия библиотеки выделит часть памяти, а другая свободная, это может вызвать сбой.
В качестве другого примера, если вы предоставляете классы C ++ через интерфейс и они полагаются на библиотеки времени выполнения MS, такие как MFC, есть вероятность, что расположение классов изменилось между VS 6 и VS 2008. Это означает, что доступ к члену / полю на класс может пойти не на ту вещь и привести к непредсказуемым результатам. Вы, вероятно, хрен, если .lib использует MFC в любом качестве. MFC определяет и использует тонны глобалов, и любой доступ к глобалам MFC с помощью операций в .lib может привести к сбоям, если инфраструктура MFC изменилась в среде хостинга (она сильно изменилась после VS 6, BTW).
Я не исследовал, какие именно изменения были внесены в заголовки MFC, но я видел непредсказуемое поведение между двоичными файлами классов на основе MFC / ATL, скомпилированными в разных версиях VS.
Помимо этих проблем, существует риск для таких функций, как strtok (), которые полагаются на статические глобальные переменные, определенные в библиотеках времени выполнения. Я не уверен, но я обеспокоен тем, что эти статические переменные могут не инициализироваться должным образом, если вы используете клиент, ожидающий однопоточный CRT в потоке, созданном в многопоточном CRT. Посмотрите документацию для _beginthread () для получения дополнительной информации.