1. C++ / Говнокод #5507

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    String^ TDebug::GetCurrentThreadFunctionName(int CallFunctionIndex)
    {
    	return (gcnew StackTrace(true))->GetFrame(CallFunctionIndex)->GetMethod()->ToString();
    };
    
    void TDebug::ShowCurrentFunctionName(void)
    {
    	Windows::Forms::MessageBox::Show(GetCurrentThreadFunctionName(2));
    };

    Помоему, в Microsoft Visual Studio 2010 отладчик для С++\CLI давно есть. :)

    Запостил: Говногость, 03 Февраля 2011

    Комментарии (6) RSS

    • __func__?
      Ответить
      • __FUNCTION__, и его надо пихать в макрос или инлайнить.
        Ответить
        • >инлайнить.
          Не поможет.
          Ответить
          • Аргументируйте
            Ответить
            • __FUNCTION__ - в С++ даже после инлайна будет показывать имя заинлайненой функции, а не той, в которую эта функия заинлайнилась.
              Ответить
        • В стандарте -- только __func__. __FUNCTION__ -- нестандарт.

          И только макросом, разумеется.
          Ответить

    Добавить комментарий