فرمان GCC در لینوکس
gameover.blog.ir
مترجم: گیم اور
GCC مخفف GNU Compiler Collection یا مجموعه کامپایلر گنو می باشد.دستور به همراه پارامترهای آن در جدول زیر توضیح خلاصه داده شده است:
توضیح پارامتر
gcc -c کامپایل فایل های سورس به فایل های ابجکت بدون عمل لینکینگ یا پیوند فایل های جانبی
gcc -Dname[=value] تعریف یک ماکروی پیش پردازنده
gcc -fPIC generate position independent code for shared libraries تولید کد مستقل موقعیت برای کتابخانه های شیر شده
gcc -glevel generate debug information to be used by GDB تولید اطلاعات خطایابی برای استفاده با جی دی بی
gcc -Idir add include directory of header files افزودن پوشه ی اینکلود فایل های سرآیند
gcc -llib link with library file لینک با فایل کتابخانه ای
gcc -Ldir look in directory for library files نگاه کردن در پوشه برای فایل های کتابخانه ای
gcc -o output file write build output to output file نوشتن خروجی بیلد در فایل خروجی
gcc -Olevel optimize for code size and execution time بهینه سازی برای اندازه ی کد و زمان اجرا
gcc -shared generate shared object file for shared library تولید فایل ابجکت شیر شده برای کتابخانه ی شیر شده
gcc -Uname undefine a preprocessor macro تعریف نکردن یک ماکروی پیش پردازنده
gcc -w disable all warning messages از کار انداختن پیام های خطا
gcc -Wall enable all warning messages فعال سازی همه ی پیام های خطا
gcc -Wextra enable extra warning messages فعال سازی هشدارهای خطای اضافی
کامپایل فایل file1.c و فایل file2.c به خروجی اجرایی execfile:
$ gcc file1.c file2.c -o execfile
$ ./execfile
$ gcc -c file1.c file2.c
کامپایل myfile.cبا اطلاعات دیباگ و لینک به فایل اجرای خروجی myfile.c:
$ gcc -g myfile.c -o execfile
مثل بالا. فقط پیام های خطا فعال هست و لینک به فایل 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(کلید O به معنی بهینه سازی یا Optimization است):
$ gcc -O myfile.c -o execfile