2012-08-28 52 views
5

Tôi tưởng tượng đây là một câu hỏi đã được hỏi hàng ngàn lần nhưng tôi không thể tìm được câu trả lời thẳng.Tương đương OSX, C cho uint32 và uint64 là gì?

Tôi đang cố gắng chuyển một hàm rất ngắn, C (ban đầu được viết cho Windows) sang OSX, sử dụng XCode.

Tôi đã tạo một dự án ứng dụng Terminal, XCode và tôi đã sao chép và dán mã vào dự án. XCode đang cho tôi một loạt lỗi cho tôi biết rằng loại uint32uint64 là các loại không xác định.

Các loại giá trị tương đương trong OSX là gì?

Trả lời

14

Bạn có thể sử dụng uint32_tuint64_t bằng cách nhập stdint.h.

0

Hãy thử những ;-) UInt32 lala; UInt64 lolo;

hiểu sai câu hỏi. Nếu bạn tạo dự án chỉ dành cho thiết bị đầu cuối, bạn sẽ không liên kết Cocoa/Foundation và Carbon. Trong UInt16/32/64 sau được đánh máy.

+1

Tôi nghĩ đó là các loại Carbon. – zneak

2

uint32_tuint64_t - cả hai được xác định trong stdint.h theo định nghĩa C99.

Một số khác là giải pháp độc quyền của Microsoft.

3

Điều bạn muốn là các loại số nguyên chuẩn POSIX và C. Đây là những gì được sử dụng trên Mac OSX, Linux, Solaris, v.v. Chúng là uint8_t tất cả các cách thức thông qua uint64_t. Ngoài ra còn có int8_t thông qua uint8_t.

+0

Cũng như làm rõ, bằng "tất cả các cách", điều này _really_ có nghĩa là tất cả các cách: có các loại nguyên có sẵn có kích thước không phải là một sức mạnh của hai ('int24_t',' int40_t', 'int48_t',' int56_t' và các đối tác chưa ký của họ). – zneak

+2

@zneak, những điều này không cần phải được xác định. Nhưng nếu các loại như vậy (với chiều rộng đó) tồn tại trên nền tảng chúng sẽ được xác định. –

Các vấn đề liên quan