Я предполагаю, что теперь все будут использовать Xcode 5.1 и выше. После добавления 64-битной поддержки Valid Architecture компилятор выдает предупреждения, связанные с 64-битными типами данных. Я работаю над приложением, которое поддерживается iOS6.0, если я изменяю типы данных с 64-разрядным, будет ли он работать нормально на 32-битных устройствах? Потому что, изменяя типы данных до 64 бит, вы создадите предупреждения компилятора для 32 бит. Спасибо заранее.Удаление предупреждений о 64-битном SDK
ответ
Если вы действительно беспокоитесь о размере типа данных, будьте ясны в своем кодировании и используйте стандартные типы, которые будут работать независимо от компилятора.
uint8_t, uint16_t, uint32_t and uint64_t
int8_t,int16_t,int32_t and int64_t
Единственное место, где вам действительно нужно беспокоиться с 64 бит против 32 бит, если вы делаете предположения относительно выравнивания байт структур в вашем кодировании. Однако решение этого - также использовать стандартные типы.
для подобных NSLog, где вы получаете много ошибок, связанных с использованием типов типов NSInteger, вы должны отнести их к тому, что вы хотите, чтобы они имели в виду в заявлении формата. Обычно xcode исправляет их для вас.
Есть ли у вас какие-либо конкретные примеры 32/64, о которых вы беспокоитесь?
Нет конкретных примеров, но я получаю много предупреждений, которые требуют 32-битного преобразования 64-битного типа. Поэтому просто хотелось убедиться, что если я их конвертирую в соответствии с тем, что предлагает xcode, это никак не повлияет на приложение при запуске на 32-битных устройствах. –
Можете ли вы привести несколько примеров, чтобы я мог видеть, какое предупреждение есть и в какой ситуации? Большинство предупреждений, которые я получаю, относятся к NSLog, которые я разрешил исправление xcode. Если ошибки связаны с смешиванием использования коротких, int, long, long long и т. Д., Попробуйте не смешивать int и long (использовать long) или переходить на стандартные типы. Переход с 32-битного на 64 вряд ли потеряет вас, поскольку он добавит больше диапазона в числа. Как отмечено в ответе, он предполагает смещения выравнивания структуры, размеры указателей одинаковы и чтение/запись двоичных данных на серверы с разных устройств на 32/64 бит, где лежат реальные проблемы. –
Примеры: 1. предупреждение: неявное преобразование теряет целую точность: 'NSInteger' (aka 'long') до 'int-button tag int. 2. предупреждение: неявное преобразование теряет целую точность: 'NSUInteger' (aka 'unsigned long') до 'int' - [количество массивов], назначая его int 3. warning: значения типа 'NSInteger' не должны использоваться как аргументы формата; добавьте явное приведение к «длинному», а не –
- 1. Удаление предупреждений о близости не работает
- 2. Множество предупреждений о схеме после обновления проекта до SDK 2.6
- 3. Включение предупреждений о миграции
- 4. iPhone SDK: как решить предупреждений
- 5. Игнорирование предупреждений о конкретных сёнах
- 6. Получение предупреждений о параметрах mysqli?
- 7. gcc выдает много предупреждений о включенном файле
- 8. Hudson для отправки предупреждений о своих проблемах
- 9. Нормально ли для предупреждений о памяти исчезнуть?
- 10. xcode 7.3.1 не вижу предупреждений о недействительности
- 11. presentModalViewController для предупреждений о поддержке 4.3.
- 12. Избегайте INSUFFICIENT_DATA Предупреждений CloudWatch о уведомлениях SNS
- 13. ios - уведомления о достижении многократных предупреждений
- 14. Включение строгих предупреждений о сглаживании в g ++
- 15. Множество предупреждений о cakephp в журнале
- 16. Избегайте предупреждений о неконтролируемых исключениях для классов?
- 17. mysql слишком много предупреждений о соединении
- 18. Запретить вывод предупреждений о файлах manage.py dumpdata?
- 19. Быстрое отображение предупреждений о лучших методах
- 20. Редизайн вокруг непроверенных предупреждений о бросании
- 21. Повышение точности предупреждений о близости в Android
- 22. GCC: точность строгих предупреждений о сглаживании
- 23. Отключение предупреждений о форматировании в JSHint
- 24. Устранение пользовательских предупреждений и разговора о проблемах?
- 25. Отслеживание основной причины предупреждений о низкой памяти
- 26. Преобразование фраз и предупреждений о бросании
- 27. Расширение предупреждений о перетаскивании файла VS 2010?
- 28. Кордова предупреждение о сборке предупреждений о блокировке Android
- 29. Удаление предупреждений, поступающих на мою веб-страницу при использовании апплета
- 30. о загрузке android sdk
Возможно, вам захочется прочитать руководство по 64-битным переходам для приложений с какао-касанием, найденное на этом [link] (https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/Introduction/Introduction. html) – Bamsworld
Не следует. И попробуйте использовать тип данных, который не будет затронут с 64-битным или 32-битным изменением. Как и использование NSInteger вместо обычного int и т. Д. –