собираю в либу, и дальше линкую с основным модулем. И все как бы работает. Только вот собирается либа в статическую. Т.е если я сделаю BUILD_SHARED_LIBS у меня все сломается из-за отсутсвия этих вот уродских dll_export'ов ?
Да.
Линкуй пока статически всё, кроме CRT — её динамически.
В винде.
C Runtime
Алексей, я не верю ушам своим... Ты там что -то собираешь, и не знаешь, что такое CRT ?
Это какая-то встроенная библиотека позволяющая компилировать c-шный код?
CRT - C Runtime Library
Я не нахожу понятного мне обьяснения в инете тому, что это такое
Ты используешь функции strcat, stcpy , printf, set_locale ?
Пользовался, когда писал C-код
С malloc начинай :)
Ну она самая страшная в списке
это libc, crt инициализирует глобальные переменные и подобное
Вот все они лежат (находятся) в этой библиотеке. Она физически называется по-разному, но обобщённо обычно на неё ссылаются как CRT - C runtime library, C runtime
libc она со стороны сишки
тогда странно говорить
тут главный вопрос, сойдётся ли malloc/free в разных модулях компиляции слинкованных
Так она автоматически линкуется ? Вопрос тогда нужно ли мне где-то указывать чтобы она линковалась тем или иным способом
Обычно — автоматом, но это очень разными средствами делается, АВТОМАТ очень разный
только что скомпириловал обычный объектник с g++ где внутри printf. И вот как понимать что он там прилинковал и как)
Всякие карты символов можно распечатать обычно... Если это GCC - я не знаю наизусть как там это сделать
nm U printf@@GLIBC_2.2.5
Обсуждают сегодня