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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 00:28   #1
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию gcc: Платформенные символы препроцессора.

такой вопросец, gcc сам ставит ли какие символы препроцессора зависящие от платформы?(ОС и процессор)

хотел писать четко кроссплатформенно, но к сожалению нужны функции специфичные для ОС(+ в еще одной проге, скорее всего будут функции специфичные для проца).
поэтому и интересуюсь.

если же нет этого всего, то как в ком строке передать свои дефайны?

PS: точнее g++, но думаю не важно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 24.06.2011 в 00:33.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2011, 01:02   #2
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

можно в системе построения проектов настраивать ключи компилятора, хотя, может и стандартные есть
g++ -DWIN32_OS
g++ -DLINUX_X86_OS
g++ -DANDROID_OS
alex_x_x вне форума Ответить с цитированием
Старый 24.06.2011, 01:14   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нашел ответ, думаю кому будет нужен, в консоли выполнить cpp -dM
подумает и выдаст список, выбирай нужный.(точнее то список всех дефайнов зависящих от платформы, но найти нужный можно)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 24.06.2011 в 01:17.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2011, 01:30   #4
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

чет очень долго он думает..
alex_x_x вне форума Ответить с цитированием
Старый 24.06.2011, 01:40   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

там помоему глюк какой то(на винде точно)
Ctrl+Z введи в консоль(ну и ентер)
потом сразу выведет.
Цитата:
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

E:\Documents and Settings\Феникс>cpp -dM
^Z
//большая куча дефайнов, не влазит

E:\Documents and Settings\Феникс>
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2011, 02:01   #6
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

да, правда работает

#define __linux 1
#define __i386 1
#define __i486__ 1
#define unix 1
#define __i386__ 1
#define linux 1
#define __i486 1
#define i386 1
alex_x_x вне форума Ответить с цитированием
Старый 24.06.2011, 02:03   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

он походу чего то ждет из stdin, потому получив конец файла(контрол зэд) и выводит
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2011, 02:46   #8
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Пепел Феникса
что значит "чего то ждет"? сырец он ждет, дефайны которого показать после препроцессорной обработки
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 24.06.2011, 08:01   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хоть бы сказали об этом, а то ведь в доке написано, мол чтоб увидеть платформенные символы выполните команду, и все.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.06.2011, 12:22   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Пепел Феникса
в какой доке? я в man-е посмотрел
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GCC 3.3.1 ENOUGH Софт 18 07.02.2011 11:24
gcc и winapi bullvinkle Win Api 4 21.06.2010 16:21
Что такое директива препроцессора? prikolist Общие вопросы C/C++ 7 11.02.2009 11:52
СИМВОЛЫ - помогите решить задачу на символы kiko Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2008 16:09
Директивы препроцессора в С++ alef Общие вопросы C/C++ 1 25.04.2008 01:36