Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.18;
Скачать: CL | DM;

Вниз

Не может быть!!!   Найти похожие ветки 

 
Suntechnic ©   (2002-10-17 16:39) [40]

Ketmar © (17.10.02 16:28)
а чем K&R - не стандарт? на ANSI свет клином не сошелся. и вообще ANSI - это AMERICAN и ты ды... если уж на то пошло, давайте про ISO-стандарты тогда. хотя я даже не знаю, есть ли ISO C... %-))

Вообще то стандарт ANSI C бы принят и как ISO стандарт.
http://www.eskimo.com/~scs/C-faq/q11.1.html

А вот кто стандартизировал K&R?


 
DiamondShark ©   (2002-10-17 16:42) [41]


> Mike B. © (17.10.02 16:33)


На "Королевство" заходите. Там как раз на эту тему обсуждение идет.


 
Suntechnic ©   (2002-10-17 16:42) [42]

>DiamondShark © (17.10.02 16:38)
Уважаемый... Херню гонишь ты, а мне как раз не нравится когда херню несут и по делу и без дела. А чем я на форуме занимаюсь это как раз не твое дело. Пользы тут от меня здесь ничуть не меньше, чем от тебя.


 
Mike B. ©   (2002-10-17 16:44) [43]

> DiamondShark © (17.10.02 16:42)
Оно конечно спасибо, но хотелось побольше разных мнений услышать.

Не напрягайтесь :-)


 
Ketmar ©   (2002-10-17 16:59) [44]

2Suntechnic:
K&R стандартизировались сами. как отцы языка. %-)

2Mike B.:
реально - что модула, что Borland Pascal (без объектов) - одного поля ягоды. если не учитывать библиотек, которые для серьезного проекта все равно пишутся свои. в обероне - любопытная концепция ООП. но ни для модулы, ни для оберона нету ничего даже приближающегося к дельфи, и визуальное написание софта весьма неудобно. разве только Amadeus (что-то около 900 $), но я его так и не увидел в живую %-((
в обероне нету оператора Dispose. вместо него - сборщик мусора и автоотслеживание момента, когда объект пора убивать. немного странновато и непривычно после дельфи.
из компиляторов - XDS Modula. очень хороший компилятор, я его периодически использую. поддерживает модулу и оберон, имеет отличный оптимизатор.

Satanas Nobiscum! 17-Oct-XXXVII A.S.


 
evgeg ©   (2002-10-17 19:00) [45]

> Suntechnic © (17.10.02 16:39)

Возможно, в последний стандарт C действительно ввели обязательность прототипа функций.
Но давайте рассмотрим такой пример:

cpp1.c

int f (int x)
{ .. }

cpp2.c

int f (float y, int i)

int g ()
{
float y = 2.232424;
int t = 3;
f (y, t);
}

и скомпонуем cpp1.c и cpp2.c.
Предполагаю, что компоновщик это спокойно проглотит.
Что будет в результате выполнения программы -- не знаю.

C C++ такой трюк не пройдет. Там другое сошлашение о вызовах.
Но мы говорим не о С++, C++ -- другой язык. Мы говорим о С.

Если не прав -- поправьте.


 
Suntechnic ©   (2002-10-17 19:09) [46]

>evgeg © (17.10.02 19:00)
Такая конструкция спокойно скомпиляется, но всё закончится на стадии линковки, потому как линковщик не найдёт имплементацию для int f (float y, int i);, а int f (int x); будет просто воспринята как перегруженная ф-ция. Перегрузку ведь пока никто не отменял.



 
evgeg ©   (2002-10-17 19:12) [47]

> Suntechnic © (17.10.02 19:09)

Вы, что не читали конец моего сообщения?
Мы говорим НЕ О С++, а о С. ЭТО РАЗНЫЕ ЯЗЫКИ.
В С нет перегрузки, в С нет контроля параметров функций.


 
Suntechnic ©   (2002-10-17 20:04) [48]

>evgeg © (17.10.02 19:12)
Сорри действительно про перегрузку это я загнул :(

По идеи в чистом С должно скушать.
С вашей фразей о вызове ф-ций без предварительного объявления всё понятно. Спасибо.


 
Ru ©   (2002-10-21 12:56) [49]

C - универсальный язык, т.к. сочетает в себе возможности языка ассемблера и других языков, которые называются языками высокого уровня.
Паскаль и Си довольно похожи. В паскале сложнее прерывания вызывать, во всяком случае я только в двух книгах одного автора видел описание и то там примеры были довольно простые.


 
Игорь Шевченко ©   (2002-10-21 13:06) [50]

Ru © (21.10.02 12:56)

> В паскале сложнее прерывания вызывать


Монопенисуально, что в паскале, что в С


 
Aleks1   (2002-10-22 03:40) [51]

2 Игорь Шевченко © (21.10.02 13:06)
Чё-то Игорь Вас сегодня, плииз вчера, потянуло на высокохудожественные выражения. Не иначе, коньяк, позавчера был тоже не ординарным! :)))


 
Игорь Шевченко ©   (2002-10-22 10:43) [52]

Aleks1 (22.10.02 03:40)

Не коньяком единым... :-)


 
Ru ©   (2002-10-24 12:35) [53]

>Игорь Шевченко © (21.10.02 13:06)

на Си вызов прерывания почти как на языке Ассемблера, а на Паскале количество строк несколько более.


>Монопенисуально

не совсем понял, что у вас с пенисом Ж:)


 
Игорь Шевченко ©   (2002-10-24 13:01) [54]

Ru © (24.10.02 12:35)


> на Си вызов прерывания почти как на языке Ассемблера, а
> на Паскале количество строк несколько более.


Бред


 
Ru ©   (2002-10-30 15:04) [55]

>Игорь Шевченко © (24.10.02 13:01)

?могу поискать пример по системному программированию, может где-то завалялся. для вызова 21h на Си уходило 5-6 строк кода на Паскале 8-10.
Возможно у меня пример не "правильный".


 
Странник ©   (2002-10-30 18:47) [56]

> Ru
Вы забыли про пачку begin-end"ов, var и т.д. :)
Но в С все равно проще.
Например такое:

int aa[20];
int *f(int i)
{ return aa + i;
}

void g()
{ int j;
for(j=0; j < 20; ++j)
*f(j) += j;
}



Страницы: 1 2 вся ветка

Текущий архив: 2002.11.18;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.025 c
1-59180
Alex-eraser
2002-11-09 03:35
2002.11.18
Подсветка синтаксиса


4-59515
TankMan
2002-10-07 00:52
2002.11.18
Список запущенных процессов


4-59502
lety
2002-10-04 00:05
2002.11.18
завершить работу другой программы из своей


14-59370
iNew
2002-10-30 07:13
2002.11.18
Проинсталировал Delphi_6.0, инсталаяция прошла успешно, а


1-59134
dj_adrian
2002-11-07 22:53
2002.11.18
Непонятный баг...