Текущий архив: 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