Tiếp tục bài trước của cafedev về các bước phát triển chương trình với C++.
Nội dung chính
Bước 4: Biên dịch(compiling) mã nguồn của bạn
Để biên dịch chương trình C ++, chúng tôi sử dụng trình compiling C ++. Trình biên dịch C ++ sẽ tuần tự đi qua từng file code (.cpp) trong chương trình của bạn và thực hiện hai tác vụ quan trọng:
Đầu tiên, nó kiểm tra code của bạn để đảm bảo nó tuân theo các quy tắc của ngôn ngữ C ++. Nếu không, trình biên dịch sẽ cung cấp cho bạn một lỗi (và số dòng tương ứng) để giúp xác định chính xác những gì cần sửa. Quá trình biên dịch cũng sẽ bị hủy bỏ cho đến khi lỗi được khắc phục.
Thứ hai, nó biên dịch code C ++ của bạn thành một file ngôn ngữ máy gọi là file đối tượng(Object file). Các file đối tượng này thường được đặt tên là name.o hoặc name.obj, trong đó tên của nó sẽ cùng tên với file .cpp.
Nếu chương trình của bạn có 3 file .cpp, trình biên dịch sẽ tạo 3 file Object:
Trình biên dịch C ++ có sẵn cho nhiều hệ điều hành khác nhau. Chúng tôi sẽ thảo luận về việc cài đặt một trình biên dịch trong thời sắp tới.
Bước 5: Liên kết(linker) các file và thư viện
Sau khi trình biên dịch tạo ra một hoặc nhiều file đối tượng(Object file), thì một chương trình khác có tên là trình liên kết(linker) sẽ khởi động. Công việc của trình liên kết gồm ba phần:
Đầu tiên, lấy tất cả các file đối tượng được tạo bởi trình biên dịch và kết hợp chúng thành một chương trình thực thi duy nhất, Bạn có thể hình dùng nó như hình bên dưới:
Thứ hai, ngoài khả năng liên kết các file đối tượng, trình liên kết(linker) còn có khả năng liên kết các file thư viện. Một file thư viện là một tập hợp các code được biên dịch sẵn đã được đóng gói thành công để sử dụng lại trong các chương trình khác.
Cái cốt lõi của Ngôn ngữ C ++ thực sự khá nhỏ và cực rõ ràng, dễ hiểu (bạn sẽ học được nhiều trong các bài hướng dẫn này và về sau). Tuy nhiên, C ++ cũng đi kèm với một thư viện rộng lớn gọi là Thư viện chuẩn của C ++(C++ Standard Library) (thường được gọi ngắn là thư viện chuẩn) cung cấp một số chức năng mà bạn có thể sử dụng trong các chương trình của mình. Một trong những phần được sử dụng phổ biến nhất của thư viện chuẩn C++ là thư viện iostream, có chức năng in văn bản lên màn hình và nhận đầu vào bàn phím từ người dùng. Hầu hết các trình liên kết sẽ tự động liên kết trong thư viện chuẩn ngay khi bạn sử dụng bất kỳ phần nào của nó, vì vậy bạn không cần lo lắng vấn đề này.
Thứ ba, trình liên kết đảm bảo tất cả các file phụ thuộc lần nhau được liên kết đúng với nhau. Ví dụ: nếu bạn định nghĩa một cái gì đó trong một file .cpp, sau đó sử dụng nó trong một file .cpp khác, trình liên kết sẽ kết nối hai thứ đó lại với nhau. Nếu trình liên kết không thể kết nối một tham chiếu đến một cái gì đó với định nghĩa của nó, bạn sẽ gặp lỗi liên kết và quá trình liên kết sẽ hủy bỏ cho tới khi bạn fix nó.
Khi trình liên kết kết thúc liên kết tất cả các file đối tượng và thư viện (giả sử mọi thứ đều ổn), bạn sẽ có một tệp thực thi mà sau đó bạn có thể chạy nó để dùng chương trình của mình!
Bước 6 & 7: Kiểm tra và gỡ lỗi
Đây là phần thú vị nhất trong quá trình code chương trình. Bạn có thể chạy file thực thi của mình và xem liệu nó có tạo ra đầu ra mà bạn mong đợi hay không!
Nếu chương trình của bạn chạy nhưng không hoạt động chính xác, thì tại đó là thời gian mà bạn tìm ra những bug mà mình đã làm sai. Chúng tôi sẽ thảo luận về cách kiểm tra các chương trình của bạn và cách gỡ lỗi chúng chi tiết hơn sau này.
Integrated development environments (IDEs)
Lưu ý rằng các bước 3, 4, 5 và 7 đều liên quan đến phần mềm (trình soạn thảo, trình biên dịch, trình liên kết, trình gỡ lỗi). Mặc dù bạn có thể sử dụng các chương trình riêng biệt cho từng hoạt động này nhưng có một gói phần mềm được gọi là gói môi trường phát triển tích hợp (IDE) và tích hợp tất cả các tính năng này lại với nhau. Chúng tôi sẽ thảo luận về IDE và cài đặt một cái trong phần tiếp theo sau đây.