preprocessor
От: jyuyjiyuijyu  
Дата: 16.09.11 18:48
Оценка:
Всем привет
например если написать SetWindowText и открыть скобочку то
intellisense покажет кукие нужны аргументы или если написать
SetWindowTextA или SetWindowTextW аналогично мне нужно что бы
когда запускается компиляция происходила подмена на мои макросы
например

#ifdef RUNNING
#define SetWindowTextA ...
#define SetWindowTextW ...
#endif

цель у этого простая нужно видеть во время написания какие параметры
паринимает функция а когда запускается сборка F7 нужно чтобы макрос
RUNNING становился активным и естественно происходила подмена и
собирался дроугой код сейчас полурабочее решение такое

#include <boost/preprocessor/slot/counter.hpp>
#include BOOST_PP_UPDATE_COUNTER()

#if (BOOST_PP_COUNTER)
#define SetWindowTextA ...
#define SetWindowTextW ...
#endif

изначально BOOST_PP_COUNTER 0 во время запуска компиляции BOOST_PP_COUNTER 1
это работает при сборке происходит подмена а при написании видим параметры функций
но как только происходит intellisense update он видать все раскручивает как компилятор
происходит подмена и видим определения от своих макросов надо потыкать мышкой
в #if (BOOST_PP_COUNTER) стереть одну буковку написать ее снова и тут же на глазах оно
становится серым и дальше работает как надо но только до нового intellisense update
поэтому решение полурабочее как сделать чтобы работало всегда ?
Re: preprocessor
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.09.11 19:05
Оценка: +9
единственное, что хочется ответить, это — отвратно читать такой "русский".
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: preprocessor
От: Chorkov Россия  
Дата: 16.09.11 19:25
Оценка:
Здравствуйте, jyuyjiyuijyu, Вы писали:
J>#ifdef RUNNING
J>#define SetWindowTextA ...
J>#define SetWindowTextW ...
J>#endif


http://stackoverflow.com/questions/6496524/hide-a-c-code-block-from-intellisense

#ifndef __INTELLISENSE__
// compiled, but skipped by Intellisense
#define SetWindowTextA ...
#define SetWindowTextW ...
#endif
Re[2]: preprocessor
От: jyuyjiyuijyu  
Дата: 16.09.11 20:10
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Здравствуйте, jyuyjiyuijyu, Вы писали:

C>
J>>#ifdef RUNNING
J>>#define SetWindowTextA ...
J>>#define SetWindowTextW ...
J>>#endif
C>


C>http://stackoverflow.com/questions/6496524/hide-a-c-code-block-from-intellisense


C>
C>#ifndef __INTELLISENSE__
C>// compiled, but skipped by Intellisense
C>#define SetWindowTextA ...
C>#define SetWindowTextW ...
C>#endif
C>


да интересно было бы попробовать но это для VC++ 2010 а у меня VC++ 2008
можно что нибудь придумать для VC++ 2008 ?
Re[2]: preprocessor
От: jyuyjiyuijyu  
Дата: 17.09.11 02:31
Оценка: :))
Здравствуйте, niXman, Вы писали:

X>единственное, что хочется ответить, это — отвратно читать такой "русский".


каждый видит то что хочет видеть
по теме если нечего сказать не надо флудить
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.