Главная
Си
Linux :
Компиляция в исполняемый файл :
в исполняемый файл (обычная) :
gcc -o имя_файла_результат main.c
в обьектный файл (без линковки) :
// для этого нужно указать флаг -c
gcc -o результат.o -c main.c
в исполняемый файл(из обьектных файлов) :
gcc -o имя_файла_результат main.o hello.o
Компиляция в динамическую библиотеку:
// если библиотеку компилировать как С++ файл , то нужно в файле *.h перед методом написать extern "C"
gcc -o libHello.so -shared -fPIC hello.c
// добавление в линковщик ld адреса с нашей библиотекой
export LD_LIBRARY_PATH = .
// компиляция с нашей библиотекой
gcc main.c -fPIC -L. -lHello -o hello
// посмотреть содержимое библиотеки
nm libHello.so
// посмотреть от каких динамических библиотек зависит наш исполняемый файл
ldd hello.exe