Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2009, 19:16   #1
qpokyc
Форумчанин
 
Аватар для qpokyc
 
Регистрация: 07.04.2009
Сообщений: 117
Вопрос Пустячок(C++): #ifdef

Доброго времени суток

У меня есть вопрос, который многим покажется пустяковым, потому надеюсь получить быстрый ответ:

{$IFDEF MSWINDOWS}
{$ENDIF}

Переведите на C++, пожалуйста.

PS: Как задать код, который будет компилироваться только на выбранной платформе?

Спс!
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
qpokyc вне форума Ответить с цитированием
Старый 22.09.2009, 01:46   #2
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

#ifndef MSWINDOWS
#define MSWINDOWS
...Код вашего модуля
#endif

Всмысле на выбранной платформе?
Есть много нюансов. Пишите кривые функции, которые идут на данной платформе, но не идут на других. Например, на сколько я знаю, если вместо endl ставить \n - то на Линухе данное действо не пройдет... Или если прописывать вместо символа EOF - #26(или какой там символ конца файла)... А других способов я не знаю, так как C++ довольно трудно испортить)))
Искусственный интеллект - фигня по сравнению с естественной глупостью

Последний раз редактировалось Impuls1989; 22.09.2009 в 01:52.
Impuls1989 вне форума Ответить с цитированием
Старый 22.09.2009, 02:29   #3
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
PS: Как задать код, который будет компилироваться только на выбранной платформе?
Код:
#include <iostream>

int main()
{
	//! WIN32 for Windows32
	//! WIN64 for Windows64
#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
	std::cout << "Windows\n";
#endif
	return 0; 
}
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 23.09.2009, 14:16   #4
qpokyc
Форумчанин
 
Аватар для qpokyc
 
Регистрация: 07.04.2009
Сообщений: 117
По умолчанию

Цитата:
Всмысле на выбранной платформе?
Есть много нюансов. Пишите кривые функции, которые идут на данной платформе, но не идут на других...
Обращаюсь к API напрямую. Тока не спрашивать зачем, ок? Надо!
Вообщето, кросплатформенность не требуется, однако можно избавится от потенциальных плясок в будущем, ведь несложно, правда?
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
qpokyc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск