![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Мнда. Многовато чего-то регистров. А ведь еще и результаты промежуточные где то хранить нада....
|
|||
|
||||
MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
всегда есть
и
для таких случаев Добавлено @ 21:48
так 2 регистра еще есть ![]() Это сообщение отредактировал(а) MAKCim - 9.2.2007, 21:48 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
MAKCim, я, конечно понимаю твои взгляды, но не надо всё же равнять gcc и стандартные плюсы
![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
нет, подожди В С++ по стандарту inline функция - есть подстановочная функция, а register переменные - переменные в регистрах т. е любой компилятор номинально обязан все inline функции подставлять непосредственно (благо ограничений в отличие от register переменных нет) и располагать register переменные в регистрах за исключением ситуации, когда отсутствуют свободные регистров, а заниматься оптимизацией должен при включенной оптимизации т. е я хочу сказать, что в обычном режиме он должен тупо следовать спецификации языка, а со включенной оптимизацией - заниматься эвристикой и прочим шаманством Это сообщение отредактировал(а) MAKCim - 9.2.2007, 23:14 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 11 Всего: 173 |
MAKCim
7.1.2/2
Между предпочтением и обязательством есть разница. Добавлено @ 23:42 7.1.1/3
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Что бегло нашёл по restrict:
Добавлено @ 00:45 MAKCim, кстати выше я говорил про __atribute__ и __asm__. |
|||
|
||||
SergeCpp |
|
||||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 3 Всего: 124 |
Вот выдержки из довольно старой статьи Денниса Ритчи (1988, noalias comments to X3J11)
Это сообщение отредактировал(а) SergeCpp - 10.2.2007, 01:12 |
||||
|
|||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 3 Всего: 124 |
Цикл статей Страуструпа о совместимости C и C++
Sibling rivalry: C and C++. AT&T Labs — Research Technical Report. January 2002 C and C++: Siblings. The C/C++ Users Journal. July 2002 C and C++: A Case for Compatibility. The C/C++ Users Journal. August 2002 C and C++: Case Studies in Compatibility. The C/C++ Users Journal. September 2002 Положение дел David R. Tribble. Incompatibilities Between ISO C and ISO C++ |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
но фактически ограничений на сегодня использоанию inline нет, и так как
то логично было бы в обычном (не оптимизирующем) режиме всегда использовать inline, если это явно указано тогда бы программист был уверен, как именно будет в итоге выглядеть код я понял -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
mr666 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 28.3.2006 Репутация: нет Всего: нет |
Вроде современные компиляторы игнорируют register переменные... анализируя код ..
|
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
MAKCim, ну всё же, если компилер будет просто игнорировать инлайн, формально он удовлетворяет стандарту. К тому же не всегда встраивание возможно. Например, имеем рекурсивную функцию (в тривиальный цикл не разворачиваемую - только с использованием стека). Компилер не сможет её заинлайнить. Да и в жебаге мне кажется любую рекурсивную функцию он встраивать не будет. Игнор инлайна гораздо проще, чем развёртывание рекурсии (даже в цикл).
То же имеем и с регистер, и с рестрикт. |
|||
|
||||
MAKCim |
|
||||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
да как нефиг пусть есть
функция
inline
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||||
|
|||||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
![]() А вообще оффтопик почуть пошёл. |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: 1 Всего: 8 |
Как утверждает создатель С++ Бьерн Страуструп в его третьем издании книги «Язык программирования С++» - «не важно на каком языке программируешь, важно что из себя представляешь ты сам». И я с ним полностью согласен.
-------------------- ![]() обычный день на винграде |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: нет Всего: 14 |
Это еще Тьюринг доказал. А Страуструп всего лишь процитировал в вольной форме. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |