g++
GNU C++ Compiler (g++) là trình biên dịch C++ trên Linux. Nó biên dịch cả file .c và .cpp đều như file C++.
Lệnh biên dịch:
g++ program.cpp -o filename
Trong đó filename là tên file thực thi đầu ra.
Ví dụ
#include <iostream>
using namespace std;
int main() {
int a = 20;
cout << "Gia tri cua a: " << a;
return 0;
}
Biên dịch và chạy:
$ g++ -o main main.cpp
$ ./main
Gia tri cua a: 20
gcc
GNU C Compiler (gcc) là trình biên dịch C trên Linux. Nó chỉ biên dịch file có đuôi .c.
Lệnh biên dịch:
gcc program.c -o filename
Ví dụ
#include <stdio.h>
int main() {
int a = 20;
printf("Gia tri cua a: %d", a);
return 0;
}
Biên dịch và chạy:
$ gcc -o main main.c
$ ./main
Gia tri cua a: 20
Tóm tắt khác biệt
| Đặc điểm | gcc | g++ |
|---|---|---|
| Ngôn ngữ mặc định | C | C++ |
| File .c | Biên dịch như C | Biên dịch như C++ |
| File .cpp | Báo lỗi | Biên dịch như C++ |
| Link thư viện chuẩn | libc | libc + libstdc++ |
| Dùng cho | Chương trình C | Chương trình C++ |
Mẹo: Dù g++ biên dịch được file .c, nhưng nên dùng gcc cho code C thuần túy để tuân thủ chuẩn C và tránh sự khác biệt hành vi (ví dụ: // comment, inline, ép kiểu ngầm...).