XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
ScorpioT1000
Работаем
offline
Опыт: отключен
нет, это не шарит. плейер - есть дополнительная "фича", тоесть в основном нам вобще не надо заботиться об этом и вписывать ALL везде будет накладно
ScorpioT1000 добавил:
Адик, не надо DEBUG. у каждого проекта есть свой переключатель debug_mode, тоесть у нас есть 2 карты - одна в стадии дебага, а другая в норм стадии. и нам не надо ниче переключать в настройках.(я напр просто добавлю проверку на дебаг моде текущей карты) пусть остается так
ScorpioT1000 добавил:
фикси замечание в первом потсе и я открою тему)

Отредактировано ScorpioT1000, 04.10.2009 в 10:58.
Старый 03.10.2009, 12:50
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
адик вроде что-то говорил что это сложно для него, хз
Старый 03.10.2009, 16:09
adic3x

offline
Опыт: 108,439
Активность:
пофиксю на днях, ну скорее к середине след недели (т.е. к выходным) выпущу новую, с кучей фич
Старый 03.10.2009, 23:55
ScorpioT1000
Работаем
offline
Опыт: отключен
помойму не сложней чем узнать FUNCNAME. ладно щас открою)
Старый 04.10.2009, 10:39
Sebra

offline
Опыт: 5,603
Активность:
А почему #guard не использован?
Мне кажется, что library_once работает после дефайнов.
Или Великий Адик уже и это отсекает?
Старый 04.10.2009, 12:20
ScorpioT1000
Работаем
offline
Опыт: отключен
это было до гвардов:) добавлю скоро.
Старый 04.10.2009, 12:24
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
эмм... как бы гварды нужны только при подключении внешних файлов =)
Старый 04.10.2009, 13:06
ScorpioT1000
Работаем
offline
Опыт: отключен
я думаю не только, если скажем будем работать с частями кода не как с либами а как с файлами в си
Старый 04.10.2009, 14:04
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Это подход интересный, но очень другой =)
Старый 04.10.2009, 14:21
Sebra

offline
Опыт: 5,603
Активность:
library_once тоже для подключения внешних файлов
они по разному выполняют одну и ту же задачу
Старый 04.10.2009, 17:29
adic3x

offline
Опыт: 108,439
Активность:
они по разному выполняют одну и ту же задачу
либрари онце не будет работать если его включить в другую библиотеку, на это он и заканчивается
Старый 04.10.2009, 19:01
adic3x

offline
Опыт: 108,439
Активность:
копаясь в одной карте. которую мне дали для отладки хелпера обнаружил там
define
    assert(condition) = {
        if not (condition) then
        debug     call BJDebugMsg("Assertion Failure: `condition`")
        debug     MACRO_CRASHER = MACRO_CRASHER //thread crash
        endif
    }
...
что еще раз подтверждает что надо собраться с силами и сделать либу из первого поста в стандарт библиотеку)
Старый 14.10.2009, 11:20
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
ADOLF, забыл ещё что перед этим стоит
integer MACRO_CRASHER
Старый 14.10.2009, 11:38
ScorpioT1000
Работаем
offline
Опыт: отключен
нудыг я вас жду :)
ScorpioT1000 добавил:
ассерт сделать несложно, предлагайте что еще припилить. а насчет предефа имени функции и прочего - это сделано чтобы было тру.
Старый 14.10.2009, 11:41
NETRAT

offline
Опыт: 83,712
Активность:
все самое крутое уже было написано...
читать assert.h
#define assert(_Expression) (void)( (!!(_Expression)) ||
                   (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
Старый 14.10.2009, 11:45
ScorpioT1000
Работаем
offline
Опыт: отключен
апапапа! адик, где ты?
вот я даже жэ-шник сделал :)
Прикрепленные файлы
Тип файла: rar Ifdebug.rar (663 байт, 42 просмотров )
Старый 24.10.2009, 08:44
adic3x

offline
Опыт: 108,439
Активность:
меня надо пнуть)
ок, гляну
Старый 24.10.2009, 17:06
ScorpioT1000
Работаем
offline
Опыт: отключен
жду адика для assert
Старый 07.11.2009, 12:04
ScorpioT1000
Работаем
offline
Опыт: отключен
note:
сделал такую-же шнягу на C++
struct AssertionFailed {
    AssertionFailed(const char * fi, int li, const char * r):f(fi), l(li), reason(r) {}
    ~AssertionFailed() {}
    const char * f; int l;
    const char * reason;
};

#define IFDEBUG(cond)\
    if(cond){\
    throw AssertionFailed(__FILE__,__LINE__,#cond);}

#define RUNDEBUG(test)\
    try { test; }\
    catch(AssertionFailed e) {\
    std::cout << "[debug]: [" << e.l << "] " << e.f << std::endl << "  " << e.reason << std::endl;\
    imtestingsuccess = false; }
пример:
//test.cpp
int strlen(const char * str) {
    int i;
    IFDEBUG(str == NULL); //line 3
    for(i=0; str[i]!=0; ++i) {}
    return i;
}

void test() {
    int a;
    RUNDEBUG(a = strlen(NULL));
}
выведет:
[debug]: [3] test.cpp
str == NULL
Старый 24.11.2010, 02:57
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:13.