Для реализаций Apple (Cocoa / CocoaTouch) uint8_t всегда того же типа, что и unsigned char?

Просматривая пример кода приложения для iPhone, я обнаружил пару методов отправки / получения, которые фактически имели одинаковые определения сигнатур, за исключением типов значений ассоциированный для одной из переменных.

Из заголовка:

- (void)receivedData: (unsigned char *)data length:(NSUInteger)len;
- (void)sendData:     (uint8_t*)       data length:(NSUInteger) len;

Эти методы используются как оболочки для процесса отправки / получения, который эффективно передает указатель на массив байтов данных, записываемых в потоки данных и из них. . Я нашел эти сигнатуры методов немного любопытными, и, поскольку я новичок в разработке Cocoa / Cocoa Touch, я решил проверить определение типа uint8_t . Я обнаружил, что uint8_t определяется как unsigned char в stdint.h , и, следовательно, переменные data для этих методов являются точно так же. По крайней мере, так обстоит дело с stdint.h , который связывается в XCode 4.2.

Однако, проведя небольшое дополнительное исследование типа uint8_t , я нашел этот вопрос относительно использования uint8_t и unsigned char .Похоже, что консенсус состоит в том, что довольно часто эти два типа значений абсолютно одинаковы, но с некоторыми реализациями стандартных библиотек C они могут отличаться. Следовательно, не следует полагаться на то, что они будут одним и тем же типом данных при генерации переносимого кода.

С учетом сказанного, можно ли предположить из среды программирования Apple / Objective-C, что uint8_t будет таким же, как unsigned char , или я должен следовать такой же совет, данный в рамках вышеупомянутого вопроса?

Это может показаться придирчивым вопросом, но поскольку я могу интегрировать библиотеки, в которых этот тип неправильного кодирования, по-видимому, немного преобладает, в личную кодовую базу, которую можно использовать в нескольких средах Apple (для довольно через несколько лет) я хотел получить дополнительные комментарии.

5
задан Community 23 May 2017 в 10:24
поделиться