Char подписан или без знака по умолчанию в iOS? Является ли char подписанным или неподписанным по умолчанию на iOS? (Я думал, что это был бы хорошо ответивший вопрос, но странно, что google совсем ничего не полезен!) Ответ 1 В большинстве случаев char не имеет знака в ARM (для причин производительности) и подписан на других платформах. iOS отличается от обычного соглашения для ARM, а char подписывается по умолчанию. (В частности, это отличается от Android, где код, скомпилированный в стандартах ndk по умолчанию, равен unsigned char.) Это можно изменить в xcode, есть опция 'char' Type is unsigned (по умолчанию она отключена). Если это будет изменено на "да", xcode пройдет -funsigned-char до llvm. (Проверено на xcode 5.0.2) Причина, по которой iOS отличается, упоминается в iOS ABI Function Call Guide: ARM64 Function Calling Conventions, в котором говорится просто: В iOS, как и в других платформах Darwin, оба char и wchar_t подписанных типов. Ответ 2 почему ты просто не попробовал? char x,y; x=y=0x7F; x++; if(x>y) unsigned else signed...
Ответ 1 В большинстве случаев char не имеет знака в ARM (для причин производительности) и подписан на других платформах. iOS отличается от обычного соглашения для ARM, а char подписывается по умолчанию. (В частности, это отличается от Android, где код, скомпилированный в стандартах ndk по умолчанию, равен unsigned char.) Это можно изменить в xcode, есть опция 'char' Type is unsigned (по умолчанию она отключена). Если это будет изменено на "да", xcode пройдет -funsigned-char до llvm. (Проверено на xcode 5.0.2) Причина, по которой iOS отличается, упоминается в iOS ABI Function Call Guide: ARM64 Function Calling Conventions, в котором говорится просто: В iOS, как и в других платформах Darwin, оба char и wchar_t подписанных типов.