1.8 Từ khoá để thường xuyên Rules: a. Các từ khóa tĩnh được sử dụng để khai báo tất cả các chức năng và các biến mà không cần phải được nhìn thấy bên ngoài của các mô-đun, trong đó họ được khai báo. B. Các từ khóa const sẽ được sử dụng bất cứ khi nào thích hợp. Các ví dụ bao gồm: i. Để khai báo các biến đó không nên được thay đổi sau khi khởi tạo, ii. Để xác định cuộc gọi bằng cách tham khảo các thông số chức năng mà không cần phải được sửa đổi (ví dụ, const char * param), iii. Để xác định các lĩnh vực trong cấu trúc và các đoàn thể mà không cần được sửa đổi (ví dụ, trong một cấu trúc overlay cho bộ nhớ ánh xạ I / O ghi ngoại vi), và iv. Là một thay thế mạnh mẽ đánh tới # define cho các hằng số. C. Các từ khóa volatile sẽ được sử dụng bất cứ khi nào thích hợp. Các ví dụ bao gồm: i. Để khai báo một biến thể truy cập (bằng cách sử dụng hiện tại, phạm vi) của bất kỳ thói quen gián đoạn dịch vụ toàn cầu, ii. Để khai báo một biến thể truy cập (bằng cách sử dụng hiện tại, phạm vi) của hai hoặc nhiều nhiệm vụ toàn cầu, iii. Để khai báo một con trỏ đến một bộ nhớ ánh xạ I / O ngoại vi bộ đăng ký (ví dụ, timer_t dễ bay hơi * p_timer const), và iv. Để khai báo một sự chậm trễ vòng lặp phản. Reasoning: từ khóa tĩnh C có nhiều nghĩa. Tại các mô-đun cấp, các biến toàn cầu và chức năng khai báo tĩnh được bảo vệ từ bên ngoài sử dụng. Sử dụng nặng tay của tĩnh theo cách này vì thế giảm khớp nối giữa các module. Các từ khóa const và biến động thậm chí còn quan trọng hơn. Mặt tích cực của việc sử dụng const càng nhiều càng tốt là bảo vệ biên dịch thi hành từ ghi không ngờ cho dữ liệu đó phải được chỉ đọc. Sử dụng hợp lý dễ bay hơi giúp loại bỏ một lớp học toàn bộ khó khăn để phát hiện lỗi bằng cách ngăn chặn tối ưu hóa trình biên dịch mà sẽ yêu cầu cùng tiêu diệt lần đọc hoặc viết cho các biến hoặc registers.5 Ngoại lệ:. Không 5 bằng chứng cho thấy rằng các lập trình viên không quen với các từ khóa volatile nghĩ rằng trình biên dịch của họ Tính năng tối ưu hóa là hơn bị hỏng hơn tối ưu hóa hữu ích và vô hiệu hóa. Chúng tôi tin rằng phần lớn các hệ thống nhúng có lỗi chờ để xảy ra do thiếu các từ khóa dễ bay hơi. Lỗi này thường tự biểu hiện như "ổn" hay chỉ sau khi các thay đổi được thực hiện cho một "chứng minh" cơ sở mã. Enforcement: Thích hợp sử dụng các từ khóa quan trọng sẽ được thi hành trong đánh mã.
đang được dịch, vui lòng đợi..