Я использую ARM Compiler 5 (ARMCC) в Keil 5.25. Я использую C ++ 11.
Я использую c ++ 11 с самодельным аналогом std :: function (поскольку в STL нет std :: function, предоставляемой armcc).
Недавно я заметил, что мой бинарный файл содержит несколько странных строк, таких как N8callback14DelegateLambdaIZN5tasks13BatteryTask_t6worker
и так далее.
Я искал их адреса в файле компоновщика .map и обнаружил, что это «имена типов информации» для некоторых моих лямбд.
Я уверен, что мне не нужны эти имена и я их не использую. Но компилятор по-прежнему генерирует их даже с —no_rtti и —no_rtti_data, а компоновщик не выбрасывает их даже с —feedback.
Как я могу избавиться от них? Они имеют тенденцию занимать довольно много места.
Задача ещё не решена.
Других решений пока нет …