Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
cinik Forumaš(ica)
Pridružen/a: 27. 04. 2003. (23:34:09) Postovi: (1FB)16
Spol:
Lokacija: /proc/sys/cpu/
|
Postano: 23:34 pet, 17. 11. 2006 Naslov: O svrsishodnosti vlastitog libc-a |
|
|
[quote="bbanelli"]Neoprezan compiler ce, dakako, bez problema samljeti ovaj kod, no rezultat ce biti krajnje... zanimljiv, dok ce nam oni ipak malo revniji dati nekoliko int format, double format, *arg i inih warninga... [/quote]
Moram napomenuti da ne bih volio koristiti compiler koji "zna" nesto o sintaksi libc-a -- cak stovise o formatted outputu. Takav compiler nije pristojno zvati "revnim", vec prije "compiler s predrasudama".
'ave fun!
Sinisa
[color=blue][b]Moderator:[/b] Ovo je nastavak off-topic rasprave koja je potekla od [url=http://degiorgi.math.hr/forum/viewtopic.php?p=65919#65919]ovog posta[/url].[/color]
bbanelli (napisa): | Neoprezan compiler ce, dakako, bez problema samljeti ovaj kod, no rezultat ce biti krajnje... zanimljiv, dok ce nam oni ipak malo revniji dati nekoliko int format, double format, *arg i inih warninga... |
Moram napomenuti da ne bih volio koristiti compiler koji "zna" nesto o sintaksi libc-a – cak stovise o formatted outputu. Takav compiler nije pristojno zvati "revnim", vec prije "compiler s predrasudama".
'ave fun!
Sinisa
Moderator: Ovo je nastavak off-topic rasprave koja je potekla od ovog posta.
_________________ Oslobodjen Senata.
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
cinik Forumaš(ica)
Pridružen/a: 27. 04. 2003. (23:34:09) Postovi: (1FB)16
Spol:
Lokacija: /proc/sys/cpu/
|
Postano: 8:55 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="mdoko"]
Ne koristis gcc? :PP[/quote]
Koristim, ali nakon sto sam morao pisati vlastiti printf i vlastitih jos par osnovnih libc funkcija ogranicene funkcionalnosti. Milslio sam na compiler koji u defaultnoj situaciji daje takav output, ne na onaj kojeg se natjera da pise sta god mu padne na pamet.
Milsim, bilo bi blesavo da redefiniras printf iz nekih nuznih tehnickih razloga, a compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt? Logicni nastavak takvog compilera je compiler sa clippyem ili nesto takvo...
'ave fun!
Sinisa
mdoko (napisa): |
Ne koristis gcc? |
Koristim, ali nakon sto sam morao pisati vlastiti printf i vlastitih jos par osnovnih libc funkcija ogranicene funkcionalnosti. Milslio sam na compiler koji u defaultnoj situaciji daje takav output, ne na onaj kojeg se natjera da pise sta god mu padne na pamet.
Milsim, bilo bi blesavo da redefiniras printf iz nekih nuznih tehnickih razloga, a compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt? Logicni nastavak takvog compilera je compiler sa clippyem ili nesto takvo...
'ave fun!
Sinisa
_________________ Oslobodjen Senata.
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
Postano: 16:41 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="cinik"]
Milsim, bilo bi blesavo da redefiniras printf iz nekih nuznih tehnickih razloga, a compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt?[/quote]
Standard lijepo kaze sto [tt]printf[/tt] radi i ako ga redefiniras, onda to vise nije ISO C, nego neka tvoja bezvezarija.
Ako ti bas treba [tt]printf[/tt]-like funkcija kao supstitucija za [tt]printf[/tt], onda je nazovi npr. [tt]Printf[/tt] i nitko ti nece izbacivati warninge, pa cak ni gcc sa -Wall opcijom.
cinik (napisa): |
Milsim, bilo bi blesavo da redefiniras printf iz nekih nuznih tehnickih razloga, a compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt? |
Standard lijepo kaze sto printf radi i ako ga redefiniras, onda to vise nije ISO C, nego neka tvoja bezvezarija.
Ako ti bas treba printf-like funkcija kao supstitucija za printf, onda je nazovi npr. Printf i nitko ti nece izbacivati warninge, pa cak ni gcc sa -Wall opcijom.
_________________ Extraordinary claims require extraordinary evidence. – Carl Sagan
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 17:04 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="cinik"]compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt? Logicni nastavak takvog compilera je compiler sa clippyem ili nesto takvo...[/quote]
(( Sorry na dvostrukom postu, ne da mi se editirati prethodni... ))
Stovise, ideja jest da kompajler (ne C kompajler, naravno, vec za neke zdravije jezike) zna uvjete na vrijednosti i medjuovisnosti argumenata funkcije i prilikom kompilacije dokaze (sto nije uvijek moguce) ili prilikom izvrsavanja provjeri (sto je lako) da se ti uvjeti i medjuovisnosti postuju.
Koliko bugova dolazi od toga da se funkciji proslijede sintakticki legalni, ali semanticki neprihvatljivi argumenti?
Trivijalan primjer je scanf i prosljedjivanje bezvezne vrijednosti jednako velike kao i pointerski tip...
Mozes to zvati compiler s clippy-em, Einstein-icem ili zaruljom, ali ja zelim da me upozori da radim gluposti. Osim kad ih bas zelim raditi, ali tad je pristojno da ga u to i uputim.
cinik (napisa): | compiler se (bez tvog eksplicitnog zahtjeva) ponasa kao da bolje pozna sintaksu tih funkcija od tebe, rajt? Logicni nastavak takvog compilera je compiler sa clippyem ili nesto takvo... |
(( Sorry na dvostrukom postu, ne da mi se editirati prethodni... ))
Stovise, ideja jest da kompajler (ne C kompajler, naravno, vec za neke zdravije jezike) zna uvjete na vrijednosti i medjuovisnosti argumenata funkcije i prilikom kompilacije dokaze (sto nije uvijek moguce) ili prilikom izvrsavanja provjeri (sto je lako) da se ti uvjeti i medjuovisnosti postuju.
Koliko bugova dolazi od toga da se funkciji proslijede sintakticki legalni, ali semanticki neprihvatljivi argumenti?
Trivijalan primjer je scanf i prosljedjivanje bezvezne vrijednosti jednako velike kao i pointerski tip...
Mozes to zvati compiler s clippy-em, Einstein-icem ili zaruljom, ali ja zelim da me upozori da radim gluposti. Osim kad ih bas zelim raditi, ali tad je pristojno da ga u to i uputim.
|
|
[Vrh] |
|
cinik Forumaš(ica)
Pridružen/a: 27. 04. 2003. (23:34:09) Postovi: (1FB)16
Spol:
Lokacija: /proc/sys/cpu/
|
Postano: 17:16 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="venovako"][quote="cinik"]Koristim, ali nakon sto sam morao pisati vlastiti printf i vlastitih jos par osnovnih libc funkcija ogranicene funkcionalnosti.[/quote]
Boze mili, zasto si to cinio?[/quote]
Za maturalnu radnju sam pisao operativni sistem, MojOS.
Ne bunim se ako [i]postoji nacin[/i] da pitas kompajler za misljenje o tvom kodu, (dakle, dalje od same sintakticke korektnosti), ali ne kao [i]defaultna[/i] opcija. Zasto? Zato da ostane jasna distinkcija izmedju sintakse jezika i tehnikalija.
'ave fun!
Sinisa
venovako (napisa): | cinik (napisa): | Koristim, ali nakon sto sam morao pisati vlastiti printf i vlastitih jos par osnovnih libc funkcija ogranicene funkcionalnosti. |
Boze mili, zasto si to cinio? |
Za maturalnu radnju sam pisao operativni sistem, MojOS.
Ne bunim se ako postoji nacin da pitas kompajler za misljenje o tvom kodu, (dakle, dalje od same sintakticke korektnosti), ali ne kao defaultna opcija. Zasto? Zato da ostane jasna distinkcija izmedju sintakse jezika i tehnikalija.
'ave fun!
Sinisa
_________________ Oslobodjen Senata.
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
Postano: 17:36 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="cinik"]Za maturalnu radnju sam pisao operativni sistem, MojOS.[/quote]
:ajme: Operativni sistem?!? :ajme:
Nesto u stilu real-mode DOS-klona ili pravi protected-mode kernel s izoliranim procesima i svim ostalim :faint: :?:
I userland u vidu TvogLibC-a?
Moze lagani elaborat?
[quote="cinik"]Ne bunim se ako [i]postoji nacin[/i] da pitas kompajler za misljenje o tvom kodu, (dakle, dalje od same sintakticke korektnosti), ali ne kao [i]defaultna[/i] opcija. Zasto? Zato da ostane jasna distinkcija izmedju sintakse jezika i tehnikalija.[/quote]
Pa, nije bas "tehnikalija" slaze li se poziv funkcije s onime sto standard veli, ali prihvacam da kompajler po defaultu ne smije odbacivati sintakticki ispravan kod (samo glasno skvicati).
cinik (napisa): | Za maturalnu radnju sam pisao operativni sistem, MojOS. |
Operativni sistem?!?
Nesto u stilu real-mode DOS-klona ili pravi protected-mode kernel s izoliranim procesima i svim ostalim
I userland u vidu TvogLibC-a?
Moze lagani elaborat?
cinik (napisa): | Ne bunim se ako postoji nacin da pitas kompajler za misljenje o tvom kodu, (dakle, dalje od same sintakticke korektnosti), ali ne kao defaultna opcija. Zasto? Zato da ostane jasna distinkcija izmedju sintakse jezika i tehnikalija. |
Pa, nije bas "tehnikalija" slaze li se poziv funkcije s onime sto standard veli, ali prihvacam da kompajler po defaultu ne smije odbacivati sintakticki ispravan kod (samo glasno skvicati).
|
|
[Vrh] |
|
cinik Forumaš(ica)
Pridružen/a: 27. 04. 2003. (23:34:09) Postovi: (1FB)16
Spol:
Lokacija: /proc/sys/cpu/
|
Postano: 18:43 sub, 18. 11. 2006 Naslov: Re: Vjezbe: algoritmi |
|
|
[quote="venovako"]:ajme: Operativni sistem?!? :ajme:
Nesto u stilu real-mode DOS-klona ili pravi protected-mode kernel s izoliranim procesima i svim ostalim :faint: :?:
I userland u vidu TvogLibC-a?
Moze lagani elaborat?
[/quote]
Well... ima slab odnos u omjeru shouldhavebeen/was.
Protected mode: da.
Izolirani procesi: originalno sam htio po Intelovom receptu (dakle, koristeci sve "blagodati" protected modea), ali je ispalo naopako, pa sam koristio Linuxov model... sve je isti address space, kernel vodi memorijski katastar.
IPC: skoro pa je i radio
interruptovi: triple-faultali kada sam imao IPC u funkciji i to do zavrsetka maturalne radnje nisam stigao ispraviti.
dakle, imao sam dva compilea: jedan koji je radio bez IPC-a, sa "dobrim" (nije triple-faultao) memory managementom i koji je actually mogao vrtiti neki softver (jedini program koji je radio je bio tetris, :) naravno).
drugi je radio skoro pravi multitasking (nista manje pravi od Linuxovog, ali nepravi u odnosu na Intelove zamisli) ... cak i sa funkcionalnim IPC-om i memory managementom (to je uvijek radilo).
nije bio nesto, ali eto -- korisno iskustvo: nakon tog iskustva izbjegavam Intelove procesore kao kugu. :)
Najbolji filing u pisanju maturalne je bio kada sam dobio da si dva paralelna procesa jedan drugome dobace "Hello" i "world". To bje fora... Mislim da imam pdf svoje radnje negdje na netu... treba to potraziti.
'ave fun!
Sinisa
venovako (napisa): | Operativni sistem?!?
Nesto u stilu real-mode DOS-klona ili pravi protected-mode kernel s izoliranim procesima i svim ostalim
I userland u vidu TvogLibC-a?
Moze lagani elaborat?
|
Well... ima slab odnos u omjeru shouldhavebeen/was.
Protected mode: da.
Izolirani procesi: originalno sam htio po Intelovom receptu (dakle, koristeci sve "blagodati" protected modea), ali je ispalo naopako, pa sam koristio Linuxov model... sve je isti address space, kernel vodi memorijski katastar.
IPC: skoro pa je i radio
interruptovi: triple-faultali kada sam imao IPC u funkciji i to do zavrsetka maturalne radnje nisam stigao ispraviti.
dakle, imao sam dva compilea: jedan koji je radio bez IPC-a, sa "dobrim" (nije triple-faultao) memory managementom i koji je actually mogao vrtiti neki softver (jedini program koji je radio je bio tetris, naravno).
drugi je radio skoro pravi multitasking (nista manje pravi od Linuxovog, ali nepravi u odnosu na Intelove zamisli) ... cak i sa funkcionalnim IPC-om i memory managementom (to je uvijek radilo).
nije bio nesto, ali eto – korisno iskustvo: nakon tog iskustva izbjegavam Intelove procesore kao kugu.
Najbolji filing u pisanju maturalne je bio kada sam dobio da si dva paralelna procesa jedan drugome dobace "Hello" i "world". To bje fora... Mislim da imam pdf svoje radnje negdje na netu... treba to potraziti.
'ave fun!
Sinisa
_________________ Oslobodjen Senata.
|
|
[Vrh] |
|
venovako Forumaš(ica)
Pridružen/a: 07. 11. 2002. (22:46:38) Postovi: (2F9)16
|
|
[Vrh] |
|
|