GCC (GNU Compiler Collection) là một tập hợp các trình biên dịch cho các ngôn ngữ lập trình khác nhau như C, C++, ... GCC hiện tại có thể cài trực tiếp trên hệ điều hành Linux hoặc thông qua môi trường Linux trên Windows 10.
Cài đặt GCC trên Linux
Mở Terminal trên Linux hoặc Bash on Unbutu on Windows một giao diện tương tự xuất hiện - 1 số máy sử dụng hệ điều hành không có giao diện đồ họa thì bản đã như màn hình bên dưới:
![Giao diện Terminal](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596286244-1596286244667.png)
Tiến hành kiểm tra liệu GCC đã được cài đặt trên thiết bị chưa với câu lệnh sau
gcc -v
![Kiểm tra gcc đã cài đặt hay chưa?](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596286383-1596286383234.png)
Giao diện trên cho thấy hiện tại máy đã được cài đặt GCC phiên bản 5.4.0 20160609.
Nếu máy đã cài đặt GCC thì không cần cài đặt nữa, giả sử chưa cài đặt và tiến hành cài đặt, trước tiên xóa màn hình cho gọn gàng
clear
![Giao diện Terminal](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596286244-1596286244667.png)
Để tải và cài đặt gói GCC sử dụng quyền root - sudo
, dùng câu lệnh sau để tải và cài đặt GCC.
sudo apt-get install gcc
Một yêu cầu nhập mật khẩu của tài khoản root hiện ra, tiến hành nhập mật khẩu cho tài khoản root, chờ tải và cài đặt.
![cai-dat-gcc-04](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596287667-1596287667353.png)
Hello World với chương trình C đầu tiên bằng trình biên dịch GCC
- Chương trình (code file) Hello World.
- Biên dịch
- Chạy thử
Khởi động Bash on Unbutu on Windows và chạy lệnh sau để mở chương trình Nano (trình soạn thảo văn bản trên Linux).
nano
![Soạn thảo văn bản với Nano trên Linux](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596287952-1596287952551.png)
Giao diện chương trình Nano hiện lên, tiến hành soạn thảo đoạn mã cho chương trình:
#include <stdio.h> int main() { printf("Hello World"); return 0; }
Giao diện của chương trình được viết bằng Nano sẽ như sau
![Chương trình C Hello World soạn bằng Nano](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596288068-1596288068124.png)
Sau khi soạn thảo xong chương trình, dùng tổ hợp Ctrl + O (phần Write Out) để lưu lại chương trình.
Hoặc nếu Ctrl + X (Phần Exit) thì Nano sẽ hỏi có muốn lưu hay không?
Đặt tên cho file chương trình là Text.c (phải đặt cả phần mở rộng cho file là .c hoặc .cpp) và lưu lại.
Sau khi lưu lại chương trình có giao diện như sau
![Hello World with Nano](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596288260-1596288260694.png)
Để thực thi chương trình Test.c ta sẽ tiến hành biên dịch Test.c thành một tập tin có định dạng .obj. Ta thoát khỏi chương trình Nano bằng tổ hợp Ctrl + X và quay lại giao diện console Linux, tại đây tôi dùng lệnh sau để tiến hành biên dịch Test.c thành Test.o (.o nghĩa là .obj)
gcc -c Test.c -o Test.o
![Biên dịch chương trình C với GCC](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596288431-1596288431289.png)
Sau khi biên dịch xong, dùng lệnh ls
để kiểm tra những tập tin đang tồn tại trong thư mục hiện tại
ls
Kết quả sẽ có một tập tin Test.o đã được tạo ra như hình trên.
Tiếp theo link Test.o thành file thực thi (file này tương tự file .exe của môi trường Windows) bằng câu lệnh sau
gcc -o program Test.o
Với program
là tên file thực thi chạy chương trình tôi đặt.
Sau khi link xong, dùng lệnh ls để kiểm tra danh sách tập tin hiện có trong thư mục hiện hành.
![Link chương trình C trong GCC](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596288579-1596288579314.png)
Cuối cùng, để thực thi chương trình program
dùng lệnh sau
./program
![Chạy chương trình C trên Linux (GCC)](https://resources.stdio.vn/content/article/5ef6448dc389e0793eeefb4f/resources/res-1596288627-1596288627564.png)