Trên WinAPI, loại HANDLE
được định nghĩa là void*
, do đó trên ứng dụng 64 bit, giá trị HANDLE
có thể dao động từ 0
đến 18446744073709551615
. Nhưng điều đó có đúng trong thực tế không? Có bất kỳ tài liệu nào xác định phạm vi tích phân của HANDLE
như vậy không?Phạm vi của Windows HANDLE trên ứng dụng 64 bit là gì?
Nếu một ví dụ muốn lưu trữ HANDLE
này là một int32_t
trên ứng dụng 32 bit hoàn toàn ổn, nhưng trên ứng dụng 64 bit thì các gậy nghi ngờ.
_Tại sao bạn cần lưu trữ 'HANDLE' trong' int'? Âm thanh có vấn đề. Hãy xem xét một 'std :: map'. –
MSalters
@MSalters Liên quan đến các mô tả tệp POSIX (có nghĩa là 'int'). Tôi đang sử dụng C, vì vậy không có STL, nhưng có, tôi có thể tạo ra một hệ thống xử lý thứ hai trỏ đến Windows HANDLE, nhưng điều đó sẽ chậm hơn một dàn diễn viên đơn giản, vì vậy tôi đang yêu cầu. – thelink2012