Я начинаю программировать в Rust, и одна из первых вещей, которые я заметил, это то, что Rust производит большие двоичные файлы. Например, «Hello world!» Руста! двоичный размер ~ 600K, а эквивалентный C-бит - ~ 8K.Являются ли библиотеки в C статически связанными?
После некоторых поисков я нашел this SO сообщение, объясняющее, что двоичные файлы Rust являются большими, потому что все необходимые библиотеки статически связаны. Но разве дело не в C? Когда я пишу #include <stdio.h>
в C, не ставьте ли я статически ссылку на соответствующие библиотеки ввода-вывода? Я всегда предполагал, что ответ «да», но теперь я сомневаюсь в себе.
Нет, не всегда. Обычно '-l' идет для динамической компоновки' .so' файлов. –
Ссылка отличается от включения файла заголовка. ('#include' не является ссылкой/инструкцией связывания.) –
callyalater
Нет, статические или динамические ссылки - это варианты, которые вы выбираете. –