Технически это зависит от системы, но для большинства систем, для которых вы, вероятно, будете разрабатывать, ответ будет "динамическим".
Несколько систем (в основном очень старые, встроенные,или другие специализированные) вообще не поддерживают динамическое связывание , но большинство разработчиков вряд ли будут заботиться об этих системах.В этих системах компоновщик, конечно, по умолчанию будет использовать статическое связывание (если кто-то не испортил порт :)).
Некоторые системы также не предлагают статические версии своих стандартных библиотек, поэтому вы можете't статически связывает их.
Во многих системах (особенно в любой типичной системе Linux) у вас, вероятно, есть утилита под названием ldd
.Вы можете использовать ldd <file>
, чтобы проверить, динамически ли она связана со стандартной библиотекой (при условии, что вы точно знаете, как называется библиотека, обычно это libc
).