Схема искажения имени и префикс для создания локального символа (то есть символа, который не отображается в таблице символов) зависят от вашей платформы и ассемблера. Нет единой комбинации, которая работает везде. Следующие два соглашения кажутся общими:
На целях, следующих традиционным соглашениям UNIX (например, цели aout, Mach-O и COFF), символы C украшены начальным подчеркиванием _
, а локальные метки начинаются с L
.
На мишенях ELF символы C не украшены, а локальные метки начинаются с .L
.
Некоторые ассемблеры (например, nasm) отклоняются от этих соглашений для локальных меток. Например, в NASM локальные метки начинаются с одного периода .
независимо от того, на какой цели вы находитесь.
Я не знаю, что такое соглашение вне UNIX (Windows похожа на UNIX в том смысле, что это цель COFF).