Встраивает ли Xcode код комментариев в свой двоичный файл? - PullRequest
1 голос
/ 20 мая 2019

Я комментирую некоторый код в своем проекте и не хочу, чтобы он был встроен в двоичный файл моего приложения.Встраивает ли Xcode код комментариев в двоичный файл?

//Obj-C
//- (void)functionName {
//    
//}

//Swift
//func functionName() {
//
//}

Ответы [ 2 ]

2 голосов
/ 20 мая 2019

Для Swift: от Основы в «Языке программирования Swift» (выделено мной):

Используйте комментарии, чтобы включить неисполняемый текст в свой код, как заметку или напоминание для себя. Комментарии игнорируются компилятором Swift при компиляции кода.

Для Objective-C: Objective-C является расширением C, а стандарт C 99 указывает в «5.1.1.2 Этапы перевода» (выделение добавлено):

3 Исходный файл разлагается на токены предварительной обработки6) и последовательности символов пробела (включая комментарии). Исходный файл не должен заканчиваться маркером частичной предварительной обработки или частичным комментарием. Каждый комментарий заменяется одним пробелом. Символы новой строки сохраняются. Сохраняется ли каждая непустая последовательность символов пробела, кроме новой строки, или заменяется одним символом пробела, определяется реализацией.

и в «6.4.9 Комментариях»:

1 За исключением символьной константы, строкового литерала или комментария, символы / * вводят комментарий. Содержание такого комментария проверяется только для идентификации многобайтовых символов и для поиска символов * /, которые его заканчивают.

2 За исключением символьной константы, строкового литерала или комментария, символы // вводят комментарий, который включает все многобайтовые символы вплоть до следующего символа новой строки, но не включает его. Содержание такого комментария проверяется только для определения многобайтовых символов и для определения завершающего символа новой строки.

1 голос
/ 20 мая 2019

Короткий ответ : Нет.

Длинный ответ : Каждый отдельный SDK имеет компилятор, который компилирует код на машинный язык (иначе говоря, шестнадцатеричные коды для каждого изкоманд).Таким образом, все компиляторы будут игнорировать комментарии на 100%, чтобы он мог компилировать коды быстрее.

С точки зрения приложения Apple, оно связано таким образом, что оно упаковано со всеми активами (изображения, звуки, plist, которые могут быть просмотрены любым человеком с файлом .app. Этослучай, когда хакеры смогли создать точно такое же приложение, но с немного отличающейся графикой / звуками и повторно отправить их как свои собственные.

Вместе с этими ресурсами, файл BINARY UNIX EXECUTABLE, который, если вы откроете в блокноте, выбудет видеть тарабарщину (машинный код не может быть прочитан блокнотом). Пример ниже - одно из моих приложений: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...