Как получить только файл Имя в препроцессоре?

Я (был), используя файл __ __ и __ __ Макросы для печати диагностических сообщений из моего кода. Это работает довольно хорошо, когда вы используете GCC с помощью Make, файл так же коротко, как вы указали его в командной строке. Я недавно перешел на использование коделита, который использует полностью квалифицированные имена файлов (по крайней мере, под Windows) при строительстве. Внезапно мой диагностический выход почти не читается.

Там есть способ получить только файл компонента имени файла в препроцессоре? Я могу жить с не портативным конкретным решением GCC. (Я буду отвезтиться на простое ___ файл __ Другие случаи.)

Конечно, я могу пройти содержимое __ __ с помощью функции и извлекать только файловый компонент, но операции строки не были чем Я имел в виду для диагностических сообщений, которые не должны изменять поведение времени выполнения ...

Примечание: Я использую имя файла, как он использует GNU. Путь - это сборник имена файлов, а имя файла является либо относительным, либо абсолютным идентификатором файла. Имя файла может быть состоит из компонента каталогов и компонента файла.

7
задан Brian Tompsett - 汤莱恩 6 July 2016 в 19:34
поделиться