Главная страница
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
2-1216898995
i
2008-07-24 15:29
2008.08.31
загрузка сохранения множества


8-1184852812
Забыл_ник
2007-07-19 17:46
2008.08.31
Регулировать уровень записи (громкость) на микрофоне


2-1216947856
Abcdef123
2008-07-25 05:04
2008.08.31
Вопрос по MessageDlg


1-1197016344
@!!ex
2007-12-07 11:32
2008.08.31
Положение окна на экране(Z)


15-1215669236
Slider007
2008-07-10 09:53
2008.08.31
С днем рождения ! 10 июля 2008 четверг