Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Макрос TRACE - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классовая диаграмма (Дейтел контр. вопр) http://www.cyberforum.ru/cpp-beginners/thread1497238.html
Не получается выполнить контрольный вопрос по конструированию программного обеспечения Книга "Как программировать на c++" Дейтел 5-е издание страница 187, вопрос 3.1 вот, что получается у меня ...
C++ Профилирование и альтернативная компиляция проектов Visual Studio Я хочу научиться профилировать написанные мной c++ программы. Я работаю в среде windows. Для профилирования проекта я развернул MinGV и добавил путь к компиляторам и профайлеру в общие пути. Далее... http://www.cyberforum.ru/cpp-beginners/thread1497227.html
Некоректное считывание кириллических символов C++
Здравствуйте. Вот в такой функции: std::vector<std::string> CreateFileList(std::string p, std::vector<std::string>& Directories) { std::vector<std::string> Files(0); std::string variable =...
C++ Посчитать сумму элементов вектора
все ,что смог //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #pragma hdrstop using namespace std; int main(int argc,...
C++ Определить в последовательности количество чисел кратных трем, и количество чисел, кратных семи http://www.cyberforum.ru/cpp-beginners/thread1497207.html
Дано натуральное число n и целые числа x1 ,x2, … xn. Определить количество чисел xi кратных трем, и количество чисел xi кратных семи.
C++ Вывести в окно консольного приложения числа в виде таблицы Вывести в окно консольного приложения числа в виде таблицы. 20 21 22 23 24 19 20 21 22 18 19 20 17 18 16 подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
11.07.2015, 18:04  [ТС]
Цитата Сообщение от iRomul Посмотреть сообщение
Скорее всего это обёртка над fprintf или подобным.
Нет там можно посмотреть вот определение:
C++
1
#define TRACE ATLTRACE
для 0 и 3
C++
1
2
3
4
#define TRACE0(sz)              TRACE(_T("%s"), _T(sz))
#define TRACE1(sz, p1)          TRACE(_T(sz), p1)
#define TRACE2(sz, p1, p2)      TRACE(_T(sz), p1, p2)
#define TRACE3(sz, p1, p2, p3)  TRACE(_T(sz), p1, p2, p3)
Определение ATLTRACE
C++
1
#define ATLTRACE ATL::CTraceFileAndLineInfo(__FILE__, __LINE__)
И само определение CTraceFileAndLineInfo
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
_trace.TraceV(m_pszFileName, m_nLineNo, dwCategory, nLevel, pszFmt, ptr);
        va_end(ptr);
    }
#pragma warning(pop)
 
#pragma warning(push)
#pragma warning(disable : 4793)
    void __cdecl operator()(
        _In_z_ const char *pszFmt, 
        ...) const
    {
        va_list ptr; va_start(ptr, pszFmt);
        ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, atlTraceGeneral, 0, pszFmt, ptr);
        va_end(ptr);
    }
#pragma warning(pop)
 
#pragma warning(push)
#pragma warning(disable : 4793)
    void __cdecl operator()(
        _In_z_ const wchar_t *pszFmt, 
        ...) const
    {
        va_list ptr; va_start(ptr, pszFmt);
        ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, atlTraceGeneral, 0, pszFmt, ptr);
        va_end(ptr);
    }
#pragma warning(pop)
 
private:
    /* unimplemented */
    CTraceFileAndLineInfo &__cdecl operator=(_In_ const CTraceFileAndLineInfo &right);
 
    const char *const m_pszFileName;
    const int m_nLineNo;
};


Добавлено через 2 минуты
Цитата Сообщение от iRomul Посмотреть сообщение
Выходит, что да, но в доках в этим макросам указано, что они являются устаревшими, и рекомендуется писать с помощью ATLTRACE2
Та пофигу макрос как был так он и будет в новых версиях работать, это ж специально сделали как бы инкапсуляция макросом, так что можно и старое использовать.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru