Thread View: pl.comp.lang.c
5 messages
5 total messages
Started by Paweł Melon
Tue, 20 Jan 1998 16:19
Pomocy
Author: Paweł Melon
Date: Tue, 20 Jan 1998 16:19
Date: Tue, 20 Jan 1998 16:19
7 lines
798 bytes
798 bytes
Dlaczego nie mogę definiować funkcji zgodnie ze wzorami z mojej starej
książki:
wymyślona_nazwa_funkcji (zmienne)
definicja typów zmiennych
{
instrukcja
}
Re: Pomocy
Author: Marek Kotowski
Date: Tue, 20 Jan 1998 16:40
Date: Tue, 20 Jan 1998 16:40
36 lines
1517 bytes
1517 bytes
Pawe³ Melon wrote:
>
> Dlaczego nie mogê definiowaæ funkcji zgodnie ze wzorami z mojej starej
> ksi±¿ki:
Poniewaz ksiazka jest stara. :-)
> wymy¶lona_nazwa_funkcji (zmienne)
> definicja typów zmiennych
> {
> instrukcja
> }
Kompilator zgodny z ANSI C powinien przyjac taka definicje
funkcji, ale najpewniej wypisze ostrzezenie, ze jest to definicja
"obsolete" - przestarzala. W standardzie przyjeto nowa
definicje, w ktorej typy argumentow wprowadzono do nawiasow
np.
int Function(char *Text1, char *Text2, int Value)
{
...
Uwaza sie, ze jest ona klarowniejsza, bo latwiej widac
typy argumentow, i zajmuje mniej linii, niz definicja
stara.
Sa wprawdzie glosy, by w nowym standardzie jezyka C,
przewidywanym na 1999 r. zakazac uzywania starej definicji
funkcji, ale do tego najpewniej nie dojdzie - taki standard
uczynilby blednymi szereg istniejacych programow (pisalem
o tym w innym postingu).
Pozdrawiam
Marek Kotowski
Re: Pomocy
Author: Krzysztof Krzyzaniak
Date: Wed, 21 Jan 1998 13:56
Date: Wed, 21 Jan 1998 13:56
18 lines
1244 bytes
1244 bytes
Paweł Melon (pmelon@friko2.onet.pl) wrote:
: Dlaczego nie mogę definiować funkcji zgodnie ze wzorami z mojej starej
: książki:
: wymyślona_nazwa_funkcji (zmienne)
: definicja typów zmiennych
: {
: instrukcja
: }
Wszystko zalezy od kompilatora. gcc i DJGPP przyjmuja taka konwencje zapisu.
eloy
--
/-----------------------------------v----------------------------------------\
| eloy | Krzysztof Krzyzaniak |
| eloy@irc.pl wampir@earthling.net | http://chlor.kari.put.poznan.pl/~eloy |
\-----------------------------------^----------------------------------------/
Re: Pomocy
Author: Mechanik
Date: Wed, 21 Jan 1998 19:49
Date: Wed, 21 Jan 1998 19:49
16 lines
939 bytes
939 bytes
Dnia Tue, 20 Jan 1998 17:19:48 +0100 "Paweł Melon" <pmelon@friko2.onet.pl> napisal tak:
>Dlaczego nie mogę definiować funkcji zgodnie ze wzorami z mojej starej
>książki:
>wymyślona_nazwa_funkcji (zmienne)
>definicja typów zmiennych
>{
>instrukcja
>}
Jesli Twoj kompilator ma taka mozliwosc, to ustaw go na konwencje K&R.
VANITAS VANITATUM ET OMNIA VANITAS
Mechanik
Re: Pomocy
Author: Marek Kotowski
Date: Thu, 22 Jan 1998 09:03
Date: Thu, 22 Jan 1998 09:03
44 lines
2102 bytes
2102 bytes
Mechanik wrote:
>
> >Dlaczego nie mogê definiowaæ funkcji zgodnie ze wzorami z mojej starej
> >ksi±¿ki:
> >wymy¶lona_nazwa_funkcji (zmienne)
> >definicja typów zmiennych
> >{
> >instrukcja
> >}
>
> Jesli Twoj kompilator ma taka mozliwosc, to ustaw go na konwencje K&R.
>
Zla rada.
1. W wiekszosci kompilatorow wersja K&R sprowadza sie tylko
do sprawy slow kluczowych. Prosze sprobowac pod BC
skompilowac program ze standardowymi plikami definicyjnymi
w wersji K&R. Dostanie Pan wiele komunikatow o bledach.
Jest kwestia dyskusyjna, czy mozna uznac zatem, ze
kompilator BC obsluguje K&R (praktycznie nie dostarcza
dla tej wersji plikow definicyjnych).
2. Pod wieloma wzgledami wersja K&R czesto funkcjonuje jak
wersja standardowa (np. prototypy).
3. Wersja K&R jest bardzo roznie traktowana przez rozne kompilatory.
Nie ma oczywiscie standardu K&R.
4. Sens wprowadzania do kompilatorow wersji K&R jest taki, ze
jest ona przeznaczona do kompilacji programow (lacznie z ich
plikami definicyjnymi) napisanych dawniej, kiedy nie bylo
jeszcze standardu. Jesli kompiluje sie wlasne programy,
lepiej uzywac wersji ANSI. Zazwyczaj uzywa sie wersji
kompilatora, akceptujacej jego rozszerzenia, co oczywiscie,
nie znaczy, ze z tych rozszerzen trzeba korzystac (kod jest
nieprzenosny).
Lepsza rada jest przyzwyczaic sie do nowego rodzaju definicji
funkcji.
Pozdrawiam
Marek Kotowski
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads