Đọc tiêu chuẩn ANSI, C99 có giúp ích gì không?

Mình có mong muốn định hướng lâu dài với lập trình C, mặc dù không phải ngành mình học. Mình có kiến thức cơ bản về C qua các tài liệu trên mạng.
Mình thấy nhiều bạn nhắc đến các tiêu chuẩn C99, C11, ANSI. Mình có download về đọc thử nhưng thấy rất khó tiếp cận. Mình xin hỏi liệu đọc hiểu tiêu chuẩn đó có cần thiết không ? Nếu mình làm bên lập trình nhúng thì sao ?

Nếu bạn lập trình nhúng thì cần quan tâm đến việc porting code hiện tại của bạn trên chip này qua chip khác. Ví dụ từ PIC, 8051 qua AVR, STM32, Raspberry, …
Để cho code chạy được trên mỗi dòng chip thì cần các compiler khác nhau của các hãng sản xuất chip. Tuy nhiên các hãng này lại sử dụng các compiler version khác nhau, tương ứng với các chuẩn kể trên. Do đó sẽ dẫn đến tình trạng compile bị lỗi và sửa nhiều.
Các lưu ý phổ biến nhất khi so sánh các chuẩn trên trong lập trình nhúng là: có đặt tên biến ở giữa hàm được không, có khai báo mảng cục bộ có số lượng động được không.

Bạn có thể xem thêm ở: C11 và C99 có những khác biệt như thế nào và dùng cái nào thì tốt hơn?
Ngoài ra, do tính đặc thù của lập trình nhúng, các compiler của các hãng sẽ hộ trợ thêm một số syntax đặc biệt, ví dụ như khai báo con trỏ vào vùng nhớ nào đó, khai báo biến ở EEPROM hay FLASH thay vì RAM. Vân vân mà mây mây. Những cái này thì chỉ khi đụng vào mới bỏng tay, giờ thì bạn không cần quan tâm lắm đâu.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?