Каждый источник языка C проект целевого файла производства файл компилируется, как эти файлы для создания исполняемых программ?
Linker смысл:
Главная роль компоновщика состоит в том, чтобы ссылаться друг на друг между соответствующими частями модуля ручки, таким образом, что модуль способен обеспечить сцепление между ними.
По линкера при компоновке библиотеки контента непосредственно в исполняемую программу.
В Linux для создания и использования статических библиотек:
1) составить статическую библиотеку Источник: НКУ -o -c lib.c lib.o (целевой файл)
2) генерируют статические файлы библиотек: Ar -q lib.a lib.o (упакованы)
3) Используйте статическую библиотеку компилятора: НКУ main.c lib.a -o main.out (lib.a эквивалент пакета файлов, называется статической библиотеки)
Динамически подключаемая (DLL, а затем найти время выполнения контента)
1) исполняемый во время выполнения динамической компоновки библиотеки нагрузки;
2) содержание библиотеки в исполняемую программу, которая не будет.
sub1 и sub2 динамическая библиотека подвергается (полезная часть) говорит компилятор может обеспечить содержание
В Linux создания и использования динамических библиотек:
1) составление динамической библиотеки Источник: НКУ -shared -o dlib.c dlib.so (целевой файл)
2) динамические библиотеки для компиляции: GCC main.c -o -ldl main.out
3) ключ системного вызова:
а> dlopen: Открытые динамические библиотеки файлов
б> dlsym: найти вызов динамической функции библиотеки и обратный адрес
с> dlclose: Закрыть динамические файлы библиотеки
Краткое описание:
1) относится к назначению ссылки на файл окончательной ссылки на исполняемую программу;
2) в зависимости от режима соединения, процесс связывания можно разделить на:
а> Статическая ссылка: прямые объектные файлы ссылки в исполняемую программу; (для небольших программ)
b> 动态链接:在程序启动后才动态加载目标文件;(部分更新应用程序)