Article View: pl.comp.lang.c
Article #1007Re: malloc czy (type *)malloc?
From: Marcin Laszewski
Date: Fri, 06 Feb 1998 08:07
Date: Fri, 06 Feb 1998 08:07
44 lines
2804 bytes
2804 bytes
Michal Malecki (sektor@zly.kis.p.lodz.pl) wrote: : milosz danielewski <mdaniel@priv.onet.pl> wrote: : Ha ha! Mnoza obiekty. O czym ty mowisz ? Uwazasz, ze to malo wystarczajacy : powod (nawet jesli nie uzywa sie obiektow), by nie stosowac malloc ? : ... : Wystarcza, jasne. Tylko, ze - pewnym zbiegiem okolicznosci - wywolywanie : new i delete jest odrobine prostsze. : ... Jasne, jest proste i latwe jak cale programowanie obiektowe. A teraz wez sobie program w C++ co zgdnie ze wszelkimi regulami obraca obiektami, przepusc to przez jakikolwiek front-end ktory go przerobi na "C" zwykle. Nastepnie obejrzyj sobie wygenerownay kod. Mina Ci zrzednia jak zobaczysz, ze C++ to nic innego jak preprocesor do "C" zwyklego, a nie tam znowu jakas nowa jakos, a wytworzony kod pelny jest roznego rodzaju smieci, tzn. kodu, ktory sie produkuje bo tego "kanon" jezyka obiektowego wymaga - sa to olbrzymie ilosci wywolan roznego rodzaju pustych funkcji, porownan, sprawdzen, niepotrzebnych wyrazen. Teraz kompilujesz to co wyszlo zwyklym kompilatorem - okazuje sie, ze brakuje jeszcze kilku dodatkowych "runtime-ow" i biblootek - niewielkich na szczescie, ale fakt faktem, ze pod "C" nie sa one potrzebne. A teraz uruchamiasz ten program, najpiejej z jakims profilerm i okazuje sie, ze 50% czasu Twpj program tylko tworzy obiekty, zwlania obiekty, zmienia obiekty, sprawdza czy 3++, to napewno 4, itd.... Moglbys jeszcze pogloadac co ma na ten temat "lint" do powiedzanie, ale przestrzegam, ze mozesz dostac zawalalu. I tylko nie pisz, ze w przypadku "porzadnych" kompilatorow (np. gcc) to co mowie nie ma sensu, bo tylko raz przelatuja kod w C++ i tworza od razu kod masyznowy - sam sobie sprawdzisz, ze ow balas takze istnieje (tyle, ze od razu w kodzia maszynowym). Slowem: Viva objectos! Napisz w obiektach system operacyjny, a potem powiesz ze hardware nie nadaza za za Twoim hitech softwarem. Czy dalej bedziesz sie upieral, ze nie ma zastosowan gdzie C, czy nawet asm, jest lepszy? A moze to Linus i spolka do C++ nie dorosli? Albo w AT&T pisac frontow nie ptrafia? Naucz ich - pewnie Cie posluchaja i szefem od razu zostaniesz. ml
Technical Details
Message-ID:
<6begc6$if5$2@helios.man.lublin.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!not-for-mailReferences:
<34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl> <34d11f26.6323935@news.icm.edu.pl> <6bafk2$l86@polonez.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!not-for-mail From: laser@priam.umcs.lublin.pl (Marcin Laszewski) Newsgroups: pl.comp.lang.c Subject: Re: malloc czy (type *)malloc? Date: 6 Feb 1998 08:07:34 GMT Lines: 44 Message-ID: <6begc6$if5$2@helios.man.lublin.pl> References: <34CCAF18.4877@imm.org.pl> <6akmcl$nua@polonez.man.lodz.pl> <34d11f26.6323935@news.icm.edu.pl> <6bafk2$l86@polonez.man.lodz.pl> NNTP-Posting-Host: priam.umcs.lublin.pl X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit