[MVS2008] Получение именя функции

Тема в разделе "LANGS.C", создана пользователем MuForum, 20 июл 2010.

  1. MuForum

    MuForum Member

    Публикаций:
    0
    Регистрация:
    11 мар 2007
    Сообщения:
    109
    Доброго времени суток!
    Работаю на "Microsoft Visual Studio 2008", язык программирования "C++".


    # Задача: Необходимо получить только имя функции в нутри её тела.

    Существует макрос "__FUNCTION__", который отлично с этим справляется, НО, если фукция внутри класса, то она ещё и возвращает имя класса.
    Образец:
    Код (Text):
    1. class TLogClass
    2. {
    3. TLogClass();
    4. ~TLogClass();
    5. void SendMsg() { printf(__FUNCTION__); };
    6. };
    Out: "TLogClass::SendMsg";
    - А мне надо чтобы вывело только "SendMsg";


    Погуглив я нашел, что был такой макрос, который возвращал только имя функции: "__func__", но компилятор 2008 студии не хочет распознавать этот макрос.


    P.S. -> Собственно нужна помощь по этому САБЖУ....


    P.S. -> Макросы "__FILE__" и "__LINE__" просьба не предлогать...
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    а что мешает из этой строки "TLogClass::SendMsg" получить имя функции (допустим написать свою функцию для этого)?
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    это не функции, а макросы.

    http://msdn.microsoft.com/en-us/library/b0084kay(VS.80).aspx

    если иак нужно, то можно обернуть в свою функцию.