Статически связываясь против библиотеки, созданной с другой версией Библиотеки времени выполнения C, хорошо или плохо?

Ctrl-M + коллапс переключателя Ctrl-L все - разворачивают весь

9
задан Viktor 9 December 2009 в 09:50
поделиться

3 ответа

Это должно не быть проблемой. Каждая библиотека ссылается на собственное время выполнения и в основном функционирует независимо от других библиотек в процессе. Проблема приходит, когда библиотеки ABI плохо определены. Если в одной библиотеке выделяется какой-либо тип кучи, передается в одной библиотеке, передается через границу библиотеки и «освобожденному» в другой библиотеке, будут проблемы с проблемами, поскольку другой диспетчер кучи используется для освобождения блока из менеджера кучи, используемого для выделения Это.

Любой вид структуры C-Runtime Crust, объект или объект не следует пропустить границы Accross, где можно использовать другую версию выполнения: - файл *, полученный из одной библиотеки, например, не будет иметь значение для другой библиотеки связано с другим временем выполнения.

Пока библиотека API использует только сырые типы, и не пытайтесь освободить () передавать указателями или отдать указатели на внутренне Malloc () D память, которые они ожидают, что приложение (или другая библиотека) () Вы должны быть в порядке.

Его легко упасть на фуд, что «все может пойти не так», если C-runtimes смешиваются, но вы должны помнить, что Libs, и динамические библиотеки (.so / .dll / .dylib) традиционно разработаны в Широкий выбор языков: разрешение кода, написанные в ASM, C, C ++, Fortran, Pascal и т. Д. Для того, чтобы компенсировать с помощью эффективного процессора эффективного двоичного интерфейса CPU.

Почему вдруг паникуют, когда C связывается с C?

13
ответ дан 4 December 2019 в 13:02
поделиться

Это очень плохой план. Избегайте. Либо перекомпилируйте библиотеку в 2005 году, либо скомпилируйте приложение в 2008 году.

3
ответ дан 4 December 2019 в 13:02
поделиться

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

0
ответ дан 4 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: