Namespaces support?
1 отговора
67 прегледа
Namespaces support?
Здравейте всички,
имам един въпрос относно поддръжката на namespace в C++ кмпилаторите. Става въпрос за това кога да използвам namespaces и кога не. Namespaces са относително нови и не всички по-стари компилатори ги поддържат. Например знам със сигурност, че поддръжката на namespaces в компилаторите на Watcom е от версия 11.0 (1996) нататък. Има ли някой идея за някъкъв макрос, с който да се провери поддръжката на namespaces. Имам в предвид нещо от рода на:
#define NS_SUPP (__WATCOMC__ >= 0x1100 || ...)
Не знам кога е включена поддръжка на namespaces в повечето компилатори. На мен лично ми трябва да проверя за Microsoft, GNU, Watcom и Borland.
Предварително благодаря за отговорите Ви.
ACTPOHOM
имам един въпрос относно поддръжката на namespace в C++ кмпилаторите. Става въпрос за това кога да използвам namespaces и кога не. Namespaces са относително нови и не всички по-стари компилатори ги поддържат. Например знам със сигурност, че поддръжката на namespaces в компилаторите на Watcom е от версия 11.0 (1996) нататък. Има ли някой идея за някъкъв макрос, с който да се провери поддръжката на namespaces. Имам в предвид нещо от рода на:
#define NS_SUPP (__WATCOMC__ >= 0x1100 || ...)
Не знам кога е включена поддръжка на namespaces в повечето компилатори. На мен лично ми трябва да проверя за Microsoft, GNU, Watcom и Borland.
Предварително благодаря за отговорите Ви.
ACTPOHOM
Re: Namespaces support?
Няма лесен начин, нито един автор на компилатори не прави такива неща.
Единственото решение е да имаш големи парчета код, като
#ifdef __WATCOMC__
#if __WATCOMC__ >= 0x1100
#define NS_SUPP
#endif
#endif
#ifdef __MSVC__
if _MSC_VER > 1000
#define NS_SUPP
#endif
#endif
Toва не е сложно, и ще стане естествено като тръгнеш да портваш. Стига да си го предвидил.
Единственото решение е да имаш големи парчета код, като
#ifdef __WATCOMC__
#if __WATCOMC__ >= 0x1100
#define NS_SUPP
#endif
#endif
#ifdef __MSVC__
if _MSC_VER > 1000
#define NS_SUPP
#endif
#endif
Toва не е сложно, и ще стане естествено като тръгнеш да портваш. Стига да си го предвидил.