[Ngôn ngữ C] Từ khóa volatile trong ngôn ngữ C – Part 1



Rất mong các bạn like và subscribe kênh youtube và facebook group:

Mọi góp ý, câu hỏi và sự ủng hộ. Xin liên hệ qua email: votuananhs@gmail.com

===========

volatile là một từ khóa của ngôn ngữ C được sử dụng rất nhiều trong embedded. Nhưng liên quan đến từ khóa này là những vẫn đề rất phực tạp và phụ thuộc cách thức mà compiler bạn sử dụng đang optimize đoạn code như thế nào.
Trong clip đầu tiên về volatile mình chỉ dừng lại ở việc giới thiệu về ý nghĩa sử dụng từ khóa này và những trường hợp cần sử dụng violatile. Cũng những lưu ý để bạn cân nhắc trong quá trình bạn áp dụng nó vào trong chương trình của bạn.
Mình chỉ show những thay đổi khi có sử dụng volatile và không sử dụng thì hành vi compiler sẽ build code của bạn như thế nào thôi. Ko đi vào giải thích chi tiết.
Lưu ý:
1. volatile đi liền với quá trình optimization source code của bạn thành mã máy (machine code). Quá trình này được thực hiện trong lúc compile source code. Khi runtime chỉ thực thi những gì đã được compile thành mã máy trước đó.
2.Liên quan tới compiler option cho thiết lập optimization code. Cần đọc kỹ tài liệu kỹ thuật của compiler trước khi quyết định sử dụng bất kỳ một option nào. Bởi sử dụng sai sẽ dẫn tới những hành vi không thể kiểm soát của compiler và chương trình chạy trên MCU.
3. Một số compiler ngay cả khi không thiết lập compiler option thì vẫn diễn ra quá trình optimize code.
4. Với những chương trình debug thì nên thiết lập mức optimization thất nhất. Điều này dẫn tới chương trình của bạn dễ debug hơn và dễ hiểu hành vi của compiler hơn.

===========

Nguồn: https://hiepthanhbuildings.net/

Xem thêm bài viết khác: https://hiepthanhbuildings.net/tong-hop/

Leave a Reply

Your email address will not be published. Required fields are marked *