Я полагаю, что функциональность, которую вы описываете, - это то, что вы получаете бесплатно с компоновщиком GCC.В процессе компоновки компоновщик разрешит все символы, которые ваш код ссылается на библиотеки, переданные ему в командной строке.Если упомянутое имя символа содержится в статической библиотеке (файл .a), он будет «статически» связан, а если символ вместо этого находится в библиотеке динамических ссылок (файл .so), он будет динамически связан в программевремя выполнения.
Вообще говоря, вам не нужно заботиться о том, статически или динамически связаны ваши символы, так как это не должно иметь никакого влияния на ваш код C / C ++.Из вашего описания трудно понять мотивацию вашего вопроса, но есть вероятность, что вам может понадобиться явная загрузка библиотеки динамических ссылок через системный вызов dlopen()
.Если первый абзац не отвечает на ваш вопрос, не могли бы вы описать общую проблему, которую вы пытаетесь решить?