GCC - это сокращение от GNU Compiler Collection, компилятора C для Linux.
$ gcc [options] [source files] [object files] [-o output file]
Основные параметры GCC:
вариант | описание |
---|---|
gcc -c | компилировать исходные файлы в объектные файлы без связывания |
gcc -Dname[=value] | определить макрос препроцессора |
gcc -fPIC | генерировать независимый от позиции код для разделяемых библиотек |
gcc -glevel | генерировать отладочную информацию для использования GDB |
gcc -Idir | добавить каталог включения файлов заголовков |
gcc -llib | ссылка на файл библиотеки |
gcc -Ldir | поищите в каталоге файлы библиотеки |
gcc -o output file | записать вывод сборки в выходной файл |
gcc -Olevel | оптимизировать размер кода и время выполнения |
gcc -shared | создать файл общих объектов для общей библиотеки |
gcc -Uname | отменить определение макроса препроцессора |
gcc -w | отключить все предупреждающие сообщения |
gcc -Wall | включить все предупреждающие сообщения |
gcc -Wextra | включить дополнительные предупреждающие сообщения |
Скомпилируйте file1.c и file2.c и создайте ссылку на выходной файл execfile :
$ gcc file1.c file2.c -o execfile
Запустить выходной файл execfile :
$ ./execfile
Скомпилируйте file1.c и file2.c без связывания:
$ gcc -c file1.c file2.c
Скомпилируйте myfile.c с отладочной информацией и ссылкой на выходной файл execfile :
$ gcc -g myfile.c -o execfile
Скомпилируйте myfile.c с включенными предупреждающими сообщениями и сделайте ссылку на выходной файл execfile :
$ gcc -Wall myfile.c -o execfile
Скомпилируйте myfile.c и свяжите со статической библиотекой libmath.a, расположенной в / user / local / math, для вывода файла execfile :
$ gcc -static myfile.c -L/user/local/math -lmath -o execfile
Скомпилируйте myfile.c с оптимизацией и сделайте ссылку на выходной файл execfile :
$ gcc -O myfile.c -o execfile