Portable C compiler

Fórumok

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ások

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

--
Keep it simple, stupid.

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.

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.

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

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.

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

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.