Дело в том, что под этим понятием можно понимать ряд разных вещей. Они похожи между собой идеей.
1) Подключение заголовочного файла.
#include <stdio.h>
#include "myfile.h"
В заголовочных файлах чаще всего хранятся прототипы различных функций и некоторые константы. Это нужно, чтобы компилятор знал описание функций, которые вы используете, если они описаны не вами.
2) Подключение lib-файла.
Обычно делается в настройках проекта или коммандой #pragma comment(lib, "mylib.lib")
Таким образом мы можем использовать код, хранящийся, например в dll, без ручной загрузки.
3) Загрузка dll.
Делается через вызов функции LoadLibrary и последующими GetProcAddress - это ручная загрузка функций из библиотеки.
Все это предназначено для того, чтобы вы могли использовать сторонний код (будь то стандартные средства языка или код написанный просто другими программистами).
По всей видимости, коммуникативные системы, используемые живыми существами, почти универсальны. Для размножения многие растения привлекают внимание животных-опылителей (особенно насекомых) при ярких цветов и приятных запахов. Когда размножение уже произошло, растения обращаются к животным, которые распространяют их семена. Чтобы привлечь их внимание, растения предлагают яркие съедобные плоды, которые животные съедают. Семена при этом проходят через их пищеварительную систему.