Câu hỏi

25/05/2013 20:31
Chương trình sử dụng ngắt 16h viết bằng C++ chạy trên nền Windows bị thông báo lỗi bộ xử lý hoặc không thể truy xuất các thanh ghi được?
Chương trình sử dụng ngắt 16h viết bằng C++ chạy trên nền Windows bị thông báo lỗi bộ xử lý hoặc không thể truy xuất các thanh ghi được. Chương trình tương tự viết bằng C chạy trên nền DOS thì hoạt động được. Xin hướng dẫn.
dunguyen
25/05/2013 20:31
Danh sách câu trả lời (1)

Windows là HĐH có độ an toàn cao hơn nhiều so với DOS. Thực vậy, nếu viết chương trình chạy trên DOS, bạn có thể dùng ngắt bất kỳ (thí dụ 16h), DOS không giám sát và kiểm soát gì cả. Tuy nhiên Windows luôn giám sát và kiểm soát hành vi của ứng dụng, nếu thấy ứng dụng thực hiện 1 lệnh dễ gây nguy hiểm cho hệ thống (thí dụ lệnh ngắt 16h), Windows sẽ chặn lại và báo lỗi chứ không thực hiện. Tóm lại, nếu bạn lập trình trên Windows, code nằm trong ứng dụng của bạn không được phép thực hiện ngắt (bất kỳ ngắt nào). Việc dùng ngắt chỉ được phép trong các file thư viện *.dll hay các file driver và tuân theo yêu cầu nghiêm ngặt của Windows.
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip