Главная

Си


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 


Полезные ссылки: