Мне нужно проверить что-то, за что у меня есть сомнения. Если общая библиотека (.dll) написана на C, со стандартом C99 и скомпилирована под компилятором. Скажите MinGw. Тогда, по моему опыту, он совместим с бинарными и, следовательно, можно использовать из любого другого компилятора. Скажите MS Visual Studio. Я говорю по своему опыту, потому что я пробовал это успешно более одного раза. Но мне нужно проверить, является ли это правилом.
И кроме того, я хотел бы спросить, действительно ли это так, то почему библиотеки, написанные полностью на C, например openCV, не предоставляют скомпилированные двоичные файлы для каждой другой ОС? Я знаю, что очевидной причиной было бы установить все параметры времени компиляции, но кроме того, что нет прав?
EDIT: Я добавляю дополнительный вопрос, который я рассматриваю как логическое расширение оригинала. Разве это не так, как можно было бы создать закрытую исходную библиотеку? Так как опция подачи источника выходит из окна, предоставление двоичных файлов является единственным выбором. И в этом случае предоставление двоичных файлов для как можно большего количества архитектур является желаемым результатом, причем C является очевидным выбором для обеспечения лучшей переносимости между системами и компиляторами. Правильно?