Portable C compiler

 ( kl3on | 2009. október 30., péntek - 8:54 )

Most már több mint 2 éve benne van a köztudatban a PCC. Arra lennék kiváncsi, hogy használja e valaki közületek, van e valami tapasztalata, véleménye róla. Miben jó, miben nem jó, unix-szerű rendszeren sikerült-e teljesen mellőzni a gcc-t és PCC-t használni, ilyesmi.

Köszi

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

hup

--
Keep it simple, stupid.

Hát, vagy nem használnak a huposok PCC-t, vagy a C kóderek ilyekor még alszanak :)

--
Keep it simple, stupid.

Én
ennyit
használtam, pedig nagyon díjjaznám, ha jó lenne.

En egy j-vel szoktam dijazni, de hat biztos lehet kettovel is. Amugy nem is probaltad azota, hol tart? Biztos fejlesztettek mar rajta...
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

OK, egy j oda. Amúgy arra gondoltál, hogy október 13 óta nem próbáltam az azóta megjelenő újdonságait? Nem. Ha majd ports-ban frissül, ránézek megint.

Uhh, beneztem az evet... valamiert 2008-at lattam a komment cimeben. :-(
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Miert vagysz ra ennyire ?


Amit nem lehet megirni assemblyben, azt nem lehet megirni.

mert kezd eluralkodni a UNIX világ alapszemléletének teljesen ellentmondó filozófia. Tudod, volt valami olyasmi, hogy KISS (keep it small, simple)

szerinem egy rendes optimalizalo compiler az mindenkeppen bonyolult lesz (de jo esetben attekintheto), mivel maga a feladat - (kozel) optimalis kodot csinalni - is eleg bonyolultnak tunik. Marpedig hasznosnak hangzik az ilyen fordito, mert jobb ha nem a c forrast kell teljesen elobfuszkalni raadasul hosszas emberi munkaval a kivant sebesseg/meret eleresehez (plane, hogy az obfuszkalas szukseges modjai meg kulonbozhetnek is celarchitekturankent).

- Use the Source Luke ! -

Valami linket adhatnál, miről is van szó? (Ki az a nagy Levin)
Mi bajod a gcc -vel? Mi olyat tud a PCC amit az nem?

* Én egy indián vagyok. Minden indián hazudik.

talán be kéne írni gugliba, mondjuk "pcc portable c compiler" pont jó lesz.
És mit tud a PCC, amit a gcc nem? pl. emberi tempóban fordítani. ami nyilván nem szempont a 4procis-4magos korszakban, de attól még ...

dont feed

--
NetBSD - Simplicity is prerequisite for reliability

en kovetem a CVS-t viszonylag rendszeresen
szerintem teljesen hasznalhato C fordito lett belole, kisebb programjaimat pcc-vel szoktam fejleszteni. a C99-et remekul tamogatja, meg mindig nagyon gyors es kicsit, nagyon egyszeru leforditani cvs-bol es gyorsan le is fordul, eleg kis helyet foglal. az amd64 portot nagyon regen neztem, nem tudom azota hasznalhato-e lett mar. jah es azert eleg kicsi binarist is csinal ujabban, sebbessegre nem hiszem hogy nagysagrendekkel lemaradna mas forditoktol, gondolom feladatol fugg
voltak erdeklodok, akik sajat research os-ben akartak hasznalni rendszerforditonak

hat ki kell probalni, en a cvs-t ajanlom

--
NetBSD - Simplicity is prerequisite for reliability

OFF

Nekem most az Intel C++ Compiler jön be. Használhatóbb hibaüzeneteket, figyelmeztetéseket, illetve megjegyzéseket ad, mint a GCC. Továbbá az optimalizációt "jobban" ki lehet kapcsolni, ez néha fontos, mivel az optimalizálás félrevezető tud lenni a debugolásnál.

Továbbá clang-gel és PCC-vel ellentétben nem csak C, hanem C++ kódra is használható.

Továbbá az optimalizációt "jobban" ki lehet kapcsolni, ez néha fontos, mivel az optimalizálás félrevezető tud lenni a debugolásnál.

Ez az amivel nem szoktam egyeterteni. "Release", "Debug" mod, meg egyebb isten haragja. Aztan egy jobb fajta compiler bugnal (van/volt par) jon a szopoag, h "Debug" modban miert nem szall el mint ahogy mashogyan igen... Tessek ugy fejleszteni ahogyan az anno majd ki lesz adva, kulonben jon a szegyenmozdony. :)

---
pontscho / fresh!mindworkz

Hát én csináltam olyat, hogy egy függvény standard inputról beolvasott valamit, majd visszaadott egy struktúrát. Ez a függvény egy for ciklusból hívtam meg, hogy feltöltsem egy tömb elemeit beolvasott adatokkal.
Közben a ciklusváltozó helyett véletlenül az tömb elemszámát írtam be az indexbe (túlindexelés!). Természetesen a program az adatokat szépen bekérte, de a tömb elemei továbbra is memóriaszeméttel voltak feltöltve. És akkor jött a meglepetés, amikor debugoltam a kódot! A beolvasó függvény gyakorlatilag nem csinált semmit. Bekérte az adatokat, de azok még a függvény ideiglenes változóiban sem jelentek meg. Csak bámultam, miért nem működik a függvényben a beolvasás, holott a hiba valójában egész máshol volt. Ez a GCC-nél -O0 kapcsolóval is fennállt. ICC-nél azonban kikapcsolva az optimalizációt a beolvasó függvény helyesen működött. Ezért mondom, hogy az optimalizáció félrevezető lehet debugolásnál.

A probléma nem az volt, hogy a struktúrát szépen elkészítette a függvény, majd csak egy mutatót adtál vissza (miközben az a függvényben létrehozott lokális adatszerkezetre mutatott, ami ugye megsemmisült a függvény végén)?

Amikor az optimalizációt meg kikapcsoltad, akkor valószínűleg a memóriafelszabadítás elmaradt, ezért tudtad még olvasni az adatszerkezetet.

--
Keep it simple, stupid.

Nem. Példányt ad vissza a függvény érték (tehát _nem_ mutató és _nem_ referencia) szerint.

szerintem meg csak azért használni valami mást, mert a másik elterjedt, az önmagunk szivatása

mondott valaha bárki is ilyet a pcc-vel kapcsolatban?

Szóval ez a PCC egy olyan C fordító ami nem elterjedt, "jól kilehet kapcsolni az optimalizációt" és gyors ... Mi is gyors? - a kód vagy a fordítás maga.
Részemről inkább tököljön egy félórával többet és csináljon villámgyors kódot.

* Én egy indián vagyok. Minden indián hazudik.

ha nem tetszik ne hasznald ;)

--
NetBSD - Simplicity is prerequisite for reliability

feed vagy nem feed, szerintem ez már kóros, inkább szólok hogy gond van, hátha, persze lehet naiv vagyok:

szerintem írd be egy női fórumba hogy "mi a francnak kell tampont gyártani, részemről nem kell vérezni és kész"

+1

--
Keep it simple, stupid.

bootstrapeltem vele egy pkgsrc-t (ha erdekel valakit, hogyan, akkor szoljon es megirom), elegge gyorsan vegzett a muvelettel, viszont nagyon sok csomag problemas, parat javitottam ami a szoftver hulyesege volt, de volt olyan is ami compiler bugnak tunik. le kellene ulni es bugreportokat/testcase-eket irogatni. :)

--
NetBSD - Simplicity is prerequisite for reliability

Szerintem ird meg blogban, aztan akit erdekel, elolvassa. En peldaul biztos. Tenyleg, jo is hogy irtal, felveszem a blogodat (ezt, nem a heroku-st :-) ) az RSS olvasomba.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

tessek

--
NetBSD - Simplicity is prerequisite for reliability

Gondolom ha nem akarok gcc supportot, akkor nem kell a prefix, dbdir meg a tobbi erteket modositani...
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Végre valaki mégis feltette a linket hogy miről beszélünk! - köszönöm.
(Az informatika kissé kaotikus világában rengeteg rövidítést alkalmazunk, és mivel a programozás a csilingelő bilitől az atommag hasogatásig mindenre alkalmas, rengeteg azonos rövidítést lehet találni. Mindenféle tanulás, vita és megbeszélés alapja, hogy tisztázzuk miről is van szó.)
A lényeg, hogy van egy klassz, hordozható C compiler, ami a legelterjedtebb gcc -hez képest akár 5 - 10 x gyorsabban fordít, jól értelmezhető hibaüzeneteket generál - szép. Viszont többen azt emlegetik, hogy és mint jártak a gcc -vel (én is tudnék mesélni a Borland régi compilereiről és olyan egzotikus állatokról mint a TopSpeed C azzal a Jensen -el a fejlesztők élén akinek Pascal könyvén nőtt fel egy generációnyi programozó).
Bocs, magamat fogom ismételni (több hasonló topicban ezt "tanácsoltam") nézzük a célt, mivel tudjuk a leghatékonyabban (gyorsan és precízen) megoldani - azzal az eszközzel amivel jól tudunk bánni, jól ismerjük (a hibáit főleg). "Új" eszközökhöz csak akkor érdemes nyúlni, ha a jól megszokottal nem lehet megoldani, vagy sok időnk van és szeretnék egy kis "színt" vinni életünkbe.
A PCC (ha jól értelmezem a leírást) hordozhatóságával kitűnő eszköz, így alkalmas új/más architektúrájú gépekre operációs rendszert írni/adaptálni a segítségével. Van közöttünk aki ilyesmit csinál? Örülnék ha lenne! - ez nem szarkazmus, ez nagyon komoly. Hol az az új gép, új architektúra, ami számunkra elérhető, és nem csak a szaklapok cikkeiben találkozunk velük? Van a PC és a Macintosh (a handheld cuccokról most inkább ne beszéljünk).
Szóval, egyenlőre, szégyenszemre, maradok a jól kitaposott ösvényen.

* Én egy indián vagyok. Minden indián hazudik.