Quá trình biên dịch là một phần quan trọng của bất kỳ dự án mã hóa C ++ nào. Bạn cần một trình biên dịch hiệu quả và đơn giản, đồng thời cung cấp nhiều chức năng. Đây là nơi xuất hiện của trình biên dịch g ++. Nó cung cấp nhiều chức năng khác nhau cho nhu cầu biên dịch của bạn, ngay từ dòng lệnh. Sau đây, chúng tôi hướng dẫn bạn cách bắt đầu với công cụ tuyệt vời này.
g ++ là gì?
G ++ được mô tả tốt nhất là một trình biên dịch C ++ chạy từ dòng lệnh của bạn. Nó được phát hành bởi Free Software Foundation và là một phần của GCC (GNU Compiler Collection). Nó biến mã của bạn, được viết bằng ngôn ngữ lập trình cấp cao (trong trường hợp này là C ++), thành một tệp thực thi bằng cách chuyển nó thành một ngôn ngữ cấp thấp hơn mà máy tính hiểu được.
Cài đặt
Hầu hết các bản cài đặt Linux đều đi kèm với g ++ được cài đặt ngay khi xuất xưởng. Tuy nhiên, nếu bản phân phối bạn chọn không có, hãy làm theo tại đây và tìm hiểu cách cài đặt bản phân phối đó trên một số bản phân phối phổ biến nhất của Linux.
Trên Ubuntu và Debian, hãy cài đặt nó bằng cách sử dụng apt
quản lý gói:
sudo apt update && sudo apt install g++
Trên Fedora và CentOS, hãy cài đặt nó bằng cách sử dụng yum
quản lý gói:
sudo yum install g++
Bạn cũng có thể tải xuống dưới dạng một gói từ pkgs.org. Điều này có thể được thực hiện bằng cách sử dụng công cụ Curl:
sudo curl https://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/g++_10.2.1-1_amd64.deb -O
Bạn có thể cài đặt gói bằng dpkg
tiện ích:
sudo dpkg -i g++.deb
Để kiểm tra xem g ++ đã được cài đặt chưa, hãy sử dụng --version
cờ:
g++ --version
Cách sử dụng Cơ bản
Bây giờ g ++ đã được cài đặt, bạn có thể bắt đầu sử dụng nó cho nhu cầu biên dịch của mình.
Đầu tiên, sẽ hữu ích nếu bạn xem hướng dẫn bằng cách sử dụng --help
cờ:
g++ --help
Đôi khi, việc xem thông tin bổ sung về trình biên dịch và cài đặt của nó sẽ rất hữu ích. Bạn có thể hiển thị các chuỗi thông số kỹ thuật tích hợp của trình biên dịch bằng cách sử dụng --dumpspecs
cờ:
g++ --dumpspecs
Điều này sẽ cung cấp cho bạn tổng quan cơ bản về các khả năng của nó và các tùy chọn khác nhau.
Để thực hiện biên dịch cơ bản bằng g ++, hãy sử dụng định dạng sau:
g++ [file]
Ví dụ:nếu chúng ta có một tệp tên là “main.cpp”, chúng ta có thể biên dịch nó bằng cách nhập như sau:
g++ main.cpp
Tệp thực thi đã biên dịch được đặt tên là “a.out” theo mặc định.
Chạy nó bằng cách nhập như sau:
./a.out
Nếu bạn muốn chỉ định tên của tệp thực thi đã biên dịch, hãy làm như vậy bằng cách sử dụng -o
cờ:
g++ -o [name] [file to compile]
Giả sử bạn muốn chỉ định tên của tệp thực thi là "chính". Bạn sẽ nhập như sau:
g++ -o main main.cpp
Nếu bạn muốn liên kết các tệp đối tượng với nhau, hãy làm như vậy bằng cách sử dụng định dạng sau:
g++ -o [compiled file] [obj1.o] [obj2.o]
Ví dụ:nếu bạn muốn biên dịch các tệp đối tượng “object-1.o” và “object-2.o” thành một tệp thực thi “main”, bạn sẽ nhập như sau:
g++ -o main object-1.o object-2.o
Nếu bạn muốn chỉ định một thư mục gốc, nơi có thể tìm thấy các thư viện và tiêu đề, hãy sử dụng --sysroot
cờ:
g++ -o [name] --sysroot [directory] main.ccp
Sử dụng “-Wall” để hiển thị thông báo cảnh báo
Đôi khi, việc trình biên dịch của bạn hiển thị tất cả các thông báo cảnh báo khi biên dịch mã rất hữu ích. May mắn thay, g ++ có chức năng này được tích hợp sẵn và sẵn sàng sử dụng.
Để hiển thị tất cả các thông báo cảnh báo, hãy sử dụng -Wall
cờ (vui lòng lưu ý chữ hoa “W”):
g++ -o main main.cpp -Wall
Tạo Thư viện Tĩnh
Tạo thư viện đóng vai trò quan trọng trong quá trình phát triển phần mềm như việc chọn trình soạn thảo mã phù hợp. Với một số thủ thuật, chẳng hạn như ar
, bạn có thể dễ dàng biên dịch thư viện bằng cách sử dụng g ++.
Bắt đầu bằng cách biên dịch tệp đối tượng:
g++ -o obj.o main.cpp
Tiếp theo, sử dụng ar
tiện ích với “rcs” để tạo tệp lưu trữ (“.a”):
ar rcs archive.a obj.o
Cuối cùng, sử dụng nó với g ++:
g++ -o final example.cpp archive.a
Câu hỏi Thường gặp
1. Tôi có thể sử dụng công cụ này để biên dịch tệp .c không?
Về mặt kỹ thuật, bạn có thể. Tuy nhiên, gcc
tiện ích phù hợp hơn cho việc này vì g ++ chủ yếu được dùng để trở thành một trình biên dịch C ++. Ngoài ra, g ++ vẫn sẽ coi các tệp .c là tệp C ++.
Nếu bạn muốn sử dụng g ++ để biên dịch tệp .c, chỉ cần sử dụng -c
cờ:
g++ -c [example.c] -o example
2. Tại sao tôi không nên chỉ sử dụng GCC làm trình biên dịch C ++?
Bạn rất có thể sử dụng gcc
như một trình biên dịch C ++. Tuy nhiên, g ++ thực sự là một bản chuyển thể của gcc
tập trung hơn vào C ++. Do đó, nó cung cấp một số chức năng và tính năng bổ sung cho các lập trình viên làm việc với mã C ++.
3. Phiên bản mới nhất là gì?
Phiên bản mới nhất của g ++ có vẻ là 11.2.0 kể từ Q1 2022. Nó được phát hành vào tháng 7 năm 2021.