ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
970653 Топик полностью
fk0, легенда (15.01.2020 01:36 - 01:40, просмотров: 271) ответил Evgeny_CD на [Модули] Сборник
Из презентации по твоей ссылке: 
BMI - НЕ АРТЕФАКТЫ ДЛЯ РАСПРОСТРАНЕНИЯ! BMI зависит от компилятора BMI зависит от флагов компилятора Распространяться должен исходный код интерфейса модуля BMIs можно распространять в особых ситуациях Стандартная библиотека вместе с тулчейном (Visual C++, Xcode) BMI для фиксированного окружения внутри компании
Ты понимаешь смысл этих слов? Знаешь он к чему ведёт? Правильно -- завтра будут массово BMI для конкретной версии студии вместо современных .dll и .h. Такое решение комитета по стандартизации -- преступление против человечества. Через 10 лет весь C++ сведётся к конкретной версии M$-студии. Ну как уже с C# есть (ты в курсе -- микрософт купил Mono). И, напомню, именно микрософт эту тему педалирует уже 6-й год. Ну и второй момент, поскольку там всё равно в промежутке есть .o файлы, то дублирование кода и распухание никто не отменяет -- на линковке всё по старому. Особенно с динамическими библиотеками (где такие финты ушами делаются, что в страшном сне не приснится, если не знаешь, я о gnu-linkonce и синглтонах, например). Да и не сделаешь по-новому. Линковка крупных проектов типа LLVM требует компа с 64-ю гигабайтами ОЗУ и временными файлами на SSD (это без LTO). Попытка всё компилить вообще за один подход -- страшно подумать. Вдогонку:
постепенная модуляризация существующей кодовой базы...
А там бинарный формат поддерживаемый только именно этим компилятором начиная с версии X.Y и до версии Z.V. Т.е. сейчас открывая архив с исходниками 20-летней давности необходимо чуть-чуть подправить в обычном редакторе и оно соберётся, а будет так, что потребуется искать виртуальную машину, старый компилятор и т.п., там найдётся масса причин, почему эти бинарные модули невозможно будет ни прочитать, ни скомпилировать. Т.е. в переводе на русский -- постепенное уничтожение кодовой базы. Ну и само собой формат бинарный этот не стандартизирован, не документирован и прочитан без ошибок быть не может...
[ZX]