Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обьявление переменной в var


Страницы:   1 2 3

alexdn ©   (2011-08-22 18:30:00) 

Как то я засомневался в одном вопросе.. вот если переменная обьявляется в блоке var, например:
var p:real;
присваивается ли ей автоматически значение 0..?
Или в коде нужно писать:
var x,y:real
begin
x:=0;
y:=0;
тра-та-та..

говорят есть разница между глобальными и локальными переменными.


Anatoly Podgoretsky   (2011-08-26 09:41:00) [21]

> DiamondShark  (25.08.2011 23:59:27)  [27]

Неверно, может, а не может быть при условии ошибки ERROR, ну так код и не
генерируется.


Омлет   (2011-08-26 08:51:00) [22]

> Дмитрий С ©   (26.08.11 05:12) [34]

Ещё можно ходить спиной вперед.


Дмитрий С   (2011-08-26 05:12:00) [23]


> DiamondShark ©   (25.08.11 23:59) [27]
>
>

Переменную можно по-разному проинициализировать, и так что компилятор не догадается. Например

program Project3;
{$APPTYPE CONSOLE}
var
 A: Integer;
begin
 A := A xor A;
 Writeln(A);
end.


Германн   (2011-08-26 01:54:00) [24]


> > Германн ©   (26.08.11 01:06) [31]
> это я к тому что не люблю подтирать 'сопли' в коде..
>

В каком коде какие сопли?


alexdn   (2011-08-26 01:48:00) [25]

> Германн ©   (26.08.11 01:06) [31]
это я к тому что не люблю подтирать 'сопли' в коде..


Германн   (2011-08-26 01:06:00) [26]


> alexdn ©   (26.08.11 00:54) [30]
>
> > DiamondShark ©   (25.08.11 23:59) [27]
> > код (заведомо неверный!),
> почему, ну простаивает переменная, ну и что

"простаивает" переменная.
Это что-то новое! :)


alexdn   (2011-08-26 00:54:00) [27]

> DiamondShark ©   (25.08.11 23:59) [27]
> код (заведомо неверный!),
почему, ну простаивает переменная, ну и что


Германн   (2011-08-26 00:50:00) [28]


> DiamondShark ©   (25.08.11 23:59) [27]


> Одновременного наличия варнинга и генерации машинного кода
> быть не может. Может быть одно из двух:
> 1. Компиляция завершается с ошибкой.
> 2. Компилятор генерирует инициализацию.
>

Это ты про что?
Warning  не означает наличие какой-то ошибки, которую не может разрешить компилятор. Он только предупреждает, что не уверен в том, что код скомпилированный им будет 100% рабочим.


Германн   (2011-08-26 00:50:00) [29]


> DiamondShark ©   (25.08.11 23:59) [27]


> Одновременного наличия варнинга и генерации машинного кода
> быть не может. Может быть одно из двух:
> 1. Компиляция завершается с ошибкой.
> 2. Компилятор генерирует инициализацию.
>

Это ты про что?
Warning  не означает наличие какой-то ошибки, которую не может разрешить компилятор. Он только предупреждает, что не уверен в том, что код скомпилированный им будет 100% рабочим.


DiamondShark   (2011-08-25 23:59:00) [30]


> Rouse_ ©   (24.08.11 01:28) [23]
> Поподробнее можно?

Можно.
Если разработчик компилятора:
1. смог из анализа текста сделать вывод о наличии неинициализированной переменной;
2. отдаёт себе отчёт в том, что это аномальный код (с логической ошибкой) -- ведь варнинг-то печатается;
3. позволяет, тем не менее, сгенерировать и запустить машинный код (заведомо неверный!),
то у разработчика абсолютно взорван мозг.

Одновременного наличия варнинга и генерации машинного кода быть не может. Может быть одно из двух:
1. Компиляция завершается с ошибкой.
2. Компилятор генерирует инициализацию.


Германн   (2011-08-24 03:10:00) [31]

Может быть именно поэтому.


Eraser   (2011-08-24 02:57:00) [32]

> [17] Rouse_ ©   (22.08.11 23:42)


> Последнее время часто контактирую в разработчиками Wine,
> с некоторыми моментами есть проблемы

это да, но тем не менее последние несколько лет вайн стал куда стабильнее.


Германн   (2011-08-24 01:57:00) [33]


> DiamondShark ©   (24.08.11 01:11) [22]
>
>
> > Об этом сам компилятор предупреждает кстати!
>
> Экий же он тупой, этот ваш компилятор. На предупреждения
> его хватает, а на инициализацию -- уже нет.
>

Ну если компилятор начнёт заниматься инициализацией "всегда и везде", то ...
Ну для  батонокидателей  это будет самое-то! А для всех прочих?


Rouse_   (2011-08-24 01:28:00) [34]


> DiamondShark ©   (24.08.11 01:11) [22]
> Экий же он тупой, этот ваш компилятор.

Поподробнее можно?


DiamondShark   (2011-08-24 01:11:00) [35]


> Об этом сам компилятор предупреждает кстати!

Экий же он тупой, этот ваш компилятор. На предупреждения его хватает, а на инициализацию -- уже нет.


Jeer   (2011-08-23 14:41:00) [36]


> Inovet ©   (23.08.11 14:07) [20]
> Адреса возвратов.


Это смотря откуда смотреть - в пещеру или из пещеры :)


Inovet   (2011-08-23 14:07:00) [37]

> [19] Dimka Maslov ©   (23.08.11 13:17)
> Адреса точек входа в функции

Адреса возвратов.


Dimka Maslov   (2011-08-23 13:17:00) [38]


> ладно, совсем делитантский вопрос - а что было в том месте
> стека?.


Адреса точек входа в функции, их локальные переменные и прочая, прочая, прочая


Antoxa   (2011-08-23 12:44:00) [39]

Неужели так сложно задать начальные значения нужным переменным? Об этом сам компилятор предупреждает кстати! Лучше разговоры разводить надо это делать или нет,а потом глюки ловить в проге? Если много переменных, напиши комментарии какая для чего и будет тебе счастье ;)


Rouse_   (2011-08-22 23:42:00) [40]

Кстати вот это утверждение тоже верно:

> Inovet ©   (22.08.11 20:53) [12]
>  Это что же в Вайне финкции Вин АПИ неверно реализованы.


Последнее время часто контактирую в разработчиками Wine, с некоторыми моментами есть проблемы, часть страниц имеет неверные аттрибуты доступа, FS сегмент неверно инициализирован и т.д. правда что радует - оперативно все правят и контактируешь не с профанами из техподдержки, а напрямую с разработчиками ядра, где все проблемы быстрее разруливаются...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо