GCC - це короткий збірник компіляторів GNU, компілятор 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 | undefine макрос препроцесора |
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