Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.31;
Скачать: CL | DM;

Вниз

Дефайны. Никак не соображу с чем их едят ?   Найти похожие ветки 

 
Riply ©   (2008-07-10 08:59) [0]

Здравствуйте !
Вот захотелось мне представить как дефайны следующие две конструкции:

#if defined (_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#else
#pragma runonce
#endif

#ifdef _MSC_VER
#include "Include\_NtStatus.h"
#else
#include "_NtStatus.h"
#endif


С первой, вроде, что-то получается.
#define PRAGMA_RUNONCE ( #if defined (_MSC_VER)) && (_MSC_VER >= 1020) once #else runonce #endif )
Ну и вызов:
#pragma PRAGMA_RUNONCE
Во всяком случае C++Builder кушает и не пискает :)
А вот VS напрочь отказывается :(

Помогите, пожалуйста, разобраться.


 
Правильный^Вася   (2008-07-10 09:31) [1]


> #if defined

и

> #ifdef

может это все-таки разные конструкции?


 
clickmaker ©   (2008-07-10 09:32) [2]

> А вот VS напрочь отказывается

что говорит?


 
Riply ©   (2008-07-10 09:46) [3]

> [1] Правильный^Вася   (10.07.08 09:31)
> может это все-таки разные конструкции?

Sorry. Копи/пайст подвел.

>  [2] clickmaker ©   (10.07.08 09:32)
> что говорит?

А по разному (я много вариантов перебрала, сейчас нет возможности открыть VS):
то недопустимый символ #, то ему не нравиться что в одной строке #ifdef и #else,
говорит надо на новую строчку перенести.
После переноса, кричит, что пропущен идентификатор и т.д. и т.п.


 
clickmaker ©   (2008-07-10 10:06) [4]

> После переноса, кричит, что пропущен идентификатор

\ не помогает в конце строки?


 
Правильный^Вася   (2008-07-10 10:08) [5]

дошло
ты хочешь дефайны в дефайны затулить?


 
Riply ©   (2008-07-10 10:35) [6]

>  [4] clickmaker ©   (10.07.08 10:06)
\ не помогает в конце строки?

Неа :(

> [5] Правильный^Вася   (10.07.08 10:08)
> дошло
> ты хочешь дефайны в дефайны затулить?

Ага. А это запрещено ?


 
Игорь Шевченко ©   (2008-07-10 10:46) [7]


> Помогите, пожалуйста, разобраться.


А документацию по синтаксису препроцессора для конкретного компилятора ты уже прочитала ?


 
ketmar ©   (2008-07-10 13:19) [8]

>[3] Riply © (2008-07-10 09:46:00)
>то ему не нравиться что в одной строке #ifdef и #else,

и справедливо не нравится. иди, читай про препроцессоры.

---
Understanding is not required. Only obedience.



Страницы: 1 вся ветка

Текущий архив: 2008.08.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
1-1197277902
chuzhakin
2007-12-10 12:11
2008.08.31
докинг панели пересоздаются


15-1215679351
Никитич
2008-07-10 12:42
2008.08.31
Посоветуйте книгу по C#


2-1216800452
textExpanser
2008-07-23 12:07
2008.08.31
Классы: как присвоить свойствам значения по-умолчанию?


3-1204373826
harisma
2008-03-01 15:17
2008.08.31
Формирование запроса с условием TOP


15-1215472113
Pavia
2008-07-08 03:08
2008.08.31
WALL·E