Level 413 bài
Preprocessor và tổ chức project
Hết viết tất cả trong một file. Chia dự án nhiều file và dùng preprocessor đúng cách.
Chương 19. Preprocessor
include, define, macro, biên dịch có điều kiện, header guard.
- 19.1Preprocessor làm gìBốn giai đoạn từ mã nguồn tới chương trình chạy, và vì sao preprocessor không hiểu C.22 phút
- 19.2define và macro đối tượngThay thế văn bản thuần túy, phạm vi của macro, và vì sao const thường tốt hơn.22 phút
- 19.3Macro hàm và ba cạm bẫyThiếu ngoặc, đánh giá nhiều lần, và nhiều câu lệnh không bọc.28 phút
- 19.4Khi nào macro, khi nào hàmstatic inline an toàn hơn ở mọi mặt, trừ bốn trường hợp macro vẫn thắng.24 phút
- 19.5Toán tử biến thành chuỗi và nối tokenDấu thăng, dấu thăng đôi, và mẹo hai tầng để macro bên trong được bung trước.24 phút
- 19.6Biên dịch có điều kiệnifdef, if, error, phát hiện nền tảng, hệ thống nhật ký tắt được, và assert.28 phút
- 19.7Header guard và cách viết headerVì sao include hai lần là lỗi, quy ước đặt tên guard, và bốn thứ không bao giờ để trong header.26 phút
Chương 20. Multi-file project
Chia .c và .h, khai báo và định nghĩa, extern, static, liên kết.
- 20.1Chia dự án thành nhiều tệpCấu trúc thư mục, ranh giới giữa giao diện và cài đặt, và cách quyết định tách ở đâu.24 phút
- 20.2Khai báo và định nghĩaHai khái niệm khác nhau mà cùng một cú pháp, và quy tắc một định nghĩa.26 phút
- 20.3Liên kết trong và liên kết ngoàistatic ở phạm vi tệp, extern cho biến toàn cục, và cái bẫy định nghĩa tạm thời.28 phút
- 20.4Biên dịch, liên kết và build lại từng phầnTừ .c sang .o rồi sang chương trình, và vì sao tách hai bước lại nhanh hơn.26 phút
- 20.5Sơ đồ phụ thuộc và kiểu mờPhụ thuộc phải đi một chiều, và cách phá vòng bằng khai báo trước.26 phút
- 20.6Tái cấu trúc project Phần 8Tách một tệp lớn thành năm module, từng bước, luôn giữ chương trình chạy được.30 phút