// HelloWorld.c #includeextern myFoo(int var); // объявляем внешнюю функцию int main() { int var = myFoo(5); printf("myFoo(20) = %d", var); return 0; } // myFoo.c int myFoo(int var) { return var + 100; }
Компиляция с PIC (Position Independent Code), реализует относительную адресацию, для того, чтобы разные программы могли использовать функции библиотеки, находясь в различных адресных пространствах.
gcc -fPIC -c myFoo.c
Создание динамической библиотеки с именем libmyfoo.so c ключом -shared
gcc -shared -o libmyfoo.so myFoo.o
Компиляция основной программы
gcc -c HelloWorld.с
Компиляция программы с динамической библиотекой, используем ключ -l, в названии библиотеки опускаем lib и .so
gcc HelloWorld.o -L. -lmyfoo -o result
Комментариев нет:
Отправить комментарий