реклама на сайте
подробности

 
 
> ASSERT
demiurg_spb
сообщение Aug 19 2008, 12:24
Сообщение #1


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Есть-ли какая-нибудь возможность сотворить макрос типа ASSERT,
чтобы в случае невыполнения условия вылезал error или warning на этапе компиляции?
Код
#define X 123U
ASSERT(X<10);

У меня такое никак не выходит....
Спасибо!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VIII_electronix
сообщение Aug 27 2008, 16:17
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 6-08-08
Пользователь №: 39 454



Цитата(demiurg_spb @ Aug 19 2008, 16:24) *
Есть-ли какая-нибудь возможность сотворить макрос типа ASSERT,
чтобы в случае невыполнения условия вылезал error или warning на этапе компиляции?
Код
#define X 123U
ASSERT(X<10);

У меня такое никак не выходит....
Спасибо!




#define MY_ASSERT_H(a,h) typedef int my_assert_##h##_h [(a) ? 1 : 0]
#define MY_ASSERT(a) MY_ASSERT_H(a,__LINE__)


use:

#define MY_SOME_C 10

MY_ASSERT(MY_SOME_C == 10);
MY_ASSERT(sizeof(int) == 2);

Сообщение отредактировал VIII_electronix - Aug 27 2008, 16:18
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016