[Khóa học C++] Bài 13 - Programs with multiple files

Share:

Trong các dự án thực tế, source code chắc chắn sẽ rất lớn, nếu bạn viết tất cả trong một file, thì bạn sẽ không thể quản lý source code của mình được, rất khó khăn cho việc bảo trì và nâng cấp code.
Các lập trình viên sẽ chia souce code ra thành nhiều file để dễ quản lý, tổ chức và có thể tái sử dụng.

Trong bài viết này, bạn sẽ có cái nhìn tổng quan về một project gồm nhiều file thay vì một file như bạn đã từng biết.

A multi-file example

Bây giờ, bạn hãy tạo 2 file sau trong cùng một thư mục. Nếu bạn dùng Code::Blocks hay Visual Studio, bạn có thể search google để tìm hiểu cách thêm một file trong project. Việc này rất đơn giản:

add.cpp
main.cpp
Bạn hãy thử biên dịch và chạy chương trình, chắc chắn bạn sẽ nhận được một lỗi khi biên dịch có thể là 'add': identifier not found.
Trong khi chương trình đang được compile, trong file main.cpp, compiler không đủ thông minh để hiểu add(3, 4) là gì và cũng không thể biết nó tồn tại trong file add.cpp.

Trong bài trước, bạn đã học về forward declaration, và bạn nghĩ rằng, trong file main.cpp thiếu một forward declaration của hàm add(). Điều bạn suy nghĩ khá logic, bây giờ chúng ta sẽ thêm một forward declaration cho hàm add() như sau:

Bây giờ bạn hãy thử compile lại chương trình và bạn hãy nhìn kết quả. Nhưng nếu bạn vẫn nhận được một lỗi có thể là unresolved external symbol. Lý do có thể bạn đã tạo 2 file này không đúng cách.

Conclusion

Khi compiler biên dịch nhiều file source trong một chương trình, compiler có thể compile theo bất kì thứ tự nào, compiler sẽ biên dịch từng file riêng biệt, sau đó sẽ tiến hành link chúng lại với nhau.

Bạn sẽ gặp nhiều ví dụ hơn trong phần Object-oriented programming trong các bài sau.



Không có nhận xét nào