Если объем памяти не равен крайне , размер одной копии этих файлов не является основным определяющим фактором.Учитывая, что это встроенная система, вы, вероятно, хорошо представляете, какие приложения будут использовать ваши библиотеки и когда.Если ваше приложение открывает и закрывает несколько библиотек, на которые оно должным образом ссылается, и вы никогда не открываете все библиотеки одновременно, то общая библиотека значительно экономит ОЗУ.снижение производительности.Открытие общей библиотеки занимает небольшое (обычно тривиальное) время;Если у вас очень медленный процессор или жесткие требования в реальном времени, статическая библиотека не будет подвергаться штрафу за загрузку совместно используемой библиотеки.Профиль, чтобы определить, важно это или нет.
Подводя итог, можно сказать, что совместно используемые библиотеки в некоторых особых случаях могут быть значительно лучше, чем статические.В большинстве случаев они приносят мало вреда.В простых ситуациях вы не получаете преимуществ от разделяемых библиотек.
Конечно, разделяемая библиотека значительно сэкономит во Flash, если у вас есть несколько приложений (или версий вашего приложения), которые используют одни и те жебиблиотека.Если вы используете статическую библиотеку, одна копия (размером примерно с общую библиотеку [1]) будет скомпилирована в каждую.Это полезно, когда вы находитесь на рабочей станции ПК.Но ты знал это.Вы работаете с библиотекой, которая используется только одним приложением.
[1] Разница в памяти отдельных файлов библиотеки невелика.Общие библиотеки добавляют таблицу индексов и символов, так что dlopen(3)
может загрузить библиотеку.Важность этого зависит от вашего варианта использования;скомпилируйте для каждого, а затем сравните размеры, чтобы определить, что меньше во Flash.Вам нужно будет запустить и профилировать, чтобы определить, какое из них потребляет больше оперативной памяти;они должны быть похожими, за исключением начальной загрузки общей библиотеки.