Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Ответ: Да. Это не ++.
Отправлено
Artem-1.6E-19
26 августа 2007 г. 14:08
В ответ на:
это build output так выглядит? Должен писать просто error NO_CPPLUS; Тогда не знаю, раз пишет - значит не включен ++
отправлено <font color=gray>LOT#</font> 26 августа 2007 г. 14:05
Составить ответ
|
Вернуться на конференцию
Ответы
да, похоже это фича С99 стандарта, реализованного в GCC. "mixed declarations and code - DONE"
—
LOT#
(26.08.2007 14:21:57
212.58.192.14
,
пустое
,
ссылка
)
Да, это именно С99. Как и inline-функции в C, а не в C++, как и for( int i = 0; локальные массивы переменной (вычисляемой) длины (+)
—
ReAl
(26.08.2007 16:36:35
89.162.152.53
, 130 байт)
всё верно, сам сегодня с удивлением это обнаружил. А насчёт поддержки - так почти все компиляторы стали плюсовыми, поэтому declaration и не попадалось. А с VLA осторжнее бы в embedded - это же malloc скрытый
—
LOT#
(26.08.2007 16:44:34
212.58.192.14
,
пустое
)
Ответ: Судя про примеру выше, стек все еще.
—
Artem-1.6E-19
(26.08.2007 17:03:16
91.124.241.44
,
пустое
)
ты прав, торможу. Жаль, что в ++ такого нет. А также забавно, что NET2005 в режиме "С" этот С99 не поддерживает. Похоже, С99 идет в разрез с генеральной политикой партии и будет предан анафеме, бо денег у MS предостаточно
—
LOT#
(26.08.2007 17:08:40
212.58.192.14
,
пустое
)
Ответ: В С++ можно класс написать и [] перегрузить.
—
Artem-1.6E-19
(26.08.2007 17:13:46
91.124.241.44
,
пустое
)
1) перегрузив его ты будешь
ВЫНУЖДЕН
использовать
new
, так как контроля над использованием компилятором стека у тебя нет. 2) теряется вся ясность 3) в принципе такие массивы обычно не нужны, что покрывает недостаток от их отказа 4) программисты на С++ сейчас сдают позиции, C# требуется, насколько мне известно, с памятью там всё сильно иначе
—
LOT#
(26.08.2007 17:21:47
212.58.192.14
,
пустое
)
Ответ: 1, 2, 4 - согласен. На счет три,
—
Artem-1.6E-19
(26.08.2007 17:39:37
91.124.241.44
, 148 байт)
не согласен - в этом случае malloc/new совершенно не противопоказан, поскольку память ты освободишь в той же ф-ции. Если ты возразишь, что можешь не успеть разобрать пакет до освобождения и возникнут проблемы выделения памяти - точно такие же проблемы будут и в случае VLA.
—
LOT#
(26.08.2007 17:49:50
212.58.192.14
,
пустое
)
Ответ: А сколько времени займет malloc? И кто даст гарантию что он реентерабелен?
—
Artem-1.6E-19
(26.08.2007 17:55:33
91.124.241.44
,
пустое
)
займет столько же времени, сколько и VLA при грамотной реализации. Тём, не придирайся, тебе эти наносекунды в реале не важны. Я думаю VLA не поддержан в С++ по другим мотивам - в частности по причине усложнения контроля и обработки исключений
—
LOT#
(26.08.2007 18:00:8
212.58.192.14
,
пустое
)
Ответ: Я не придираюсь. Время на malloc может быть любым в принципе.
—
Artem-1.6E-19
(26.08.2007 18:07:18
91.124.241.44
, 724 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
отымите от 2 единицу:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru