Когда я компилирую версию выпуска моего приложения для iOS (на основе стандартного шаблона приложения для iOS, поставляемого Apple), заглядываю в полученный исполняемый двоичный файл, я вижу все виды символов и даже локального источника cpp и путей заголовка. Я действительно озадачен, почему это так (я не включил RTTI *). В частности, пути к исходным файлам заставляют меня чувствовать себя некомфортно при отправке этого приложения по всему миру (почему каждый должен иметь возможность видеть структуру каталогов моей машины разработки?).
Вот два (случайно выбранных, модерируемых) отрывка:
TS /../ ACTORS / CActorCanvasCharPart.cpplastMeshcapVerticesOFF BOUNDSupload VERTICES:% d
20CActorCanvasCharPartgrassscrub / Volumes / Data / MyAppName_code / Volumes / Data / iOS_AppName / code /source/STATES/GAMES/2/CStateGame2_grass.cppbaseShadowmowerstartmowerloopmowermowerCharcutGrassChargrassStuffgrassParticles/Volumes/Data/iOS_projects/code/MyAppName_proj/MyAppName/source/STATES/GAMES/2/CStateGame2_grass.h17CStateGame2_grasssinwriteStroke/Volumes/Data/iOS_projects/code/MyAppName_proj/MyAppName/source / СОСТОЯНИЯ / ИГРЫ / 2 / CStateGame2_flowers.hflowerBedsandTrailclickstart3inplace2sandDrag / Volumes / Data / iOS_projects / code / MyAppName_proj / MyAppName / source / STATES / GAMES / 2 / CStateGame
И вот множество символов для самоопределяемых типов и структур:
CAssetMgr = "_ vptr $ CMgrBase" ^^? "pMain" ^ {CMain} "inited" B "curveCount" S "curveSpecs" ^ {CCurveSpec} "gameSpecs" [23 {CGameStateSpec = "header" {SpecDiskHeader = "type" i " версия "S}" gameID "C" backgroundColor "{CRGBAcolorf =" r "f" g "f" b "f" a "f}" clickPointColor "{CRGBAcolorf =" r "f" g "f" b "f" a "f}" clickPointIconColor "{CRGBAcolorf =" r "f" g "f" b "f" a "f}" hintColor "{CRGBAcolorf =" r "f" g "f" b "f" a "f} }] "currentFont" ^ {CCharset} "userCharParts" ^^ {CCharPart} "words" {CDataSet
Можно ли этого избежать?
* ОБНОВЛЕНИЕ: Я только что узнал, что RTTI включен по умолчанию. Итак, я очистил цель, отключил RTTI (GCC_ENABLE_CPP_RTTI = NO) и перекомпилировал. Я все еще вижу много символов и исходных путей в двоичном файле.
ОБНОВЛЕНИЕ 2: Я проверил несколько других приложений из магазина приложений, и у многих из них также отображаются пути к исходным файлам. Довольно страшно, если вы спросите меня:
Joined Up Lite
/ Users / lloydy / Documents / Development / iPhone / ABC Joined Up / main.m
/ Users / lloydy / Documents / Development / iPhone / ABC Joined Up / Classes / SettingsView.m
Crayon Physics
/ Users / smproot / Desktop / unzip / CrayonPhysics / v104 / Classes / crayon / src / ceng / gameutils / killspriteslowly / killspriteslowly.cpp
/ Users / smproot / Desktop / unzip / CrayonPhysics / v104 / Classes / crayon / src / ceng / tasks / task / sdl / Mixer / ctaskaudiosdlmixer.cpp
Wall Times
/ Users / fred / _WORK / ZDNDRP / WallTimes / main.m
/ Users / fred / _WORK / ZDNDRP / WallTimes / Classes / SystemCategories.m {{1 }}
Jumbo Calculator
/ Users / Christopher / Documents / Development / JumboCalculator 1.0.3 / main.m
/ Users / Christopher / Documents / Development / JumboCalculator 1.0.3 / Классы / CalculatorFaceViewController.m