C 'scrambling'

Fórumok

Üdv,

Tud-e valaki csuklóból olyan eszközt, ami egy C forráskódot kipucol? (Megjegyzések kivágása, konstansok behelyettesítése, sorok egyesítése, miegymás.)

Hozzászólások

gcc -E
ha jól emlékszem, így csak a prepocesszort futtatja.

gcc -E csak a preprocesszort futtatja

b+, szólok mindjárt egy havernak, hőgy ő is írja be ide, hogy "gcc -E - csak a preprocesszort futtatja".

gcc -E, cepreprocesszor, csak aztat futassa e!

--
NetBSD - Simplicity is prerequisite for reliability

Van a GCC-nek egy kapcsolója, ami csak a preprocesszort futtatja... Majd utánanézek neked, hogy melyik is az!

talán ez is érdekes neked:

man indent

INDENT(1) INDENT(1)

NAME
indent - changes the appearance of a C program by inserting or deleting
whitespace.

A sorok egyesiteset sajnos a gcc -E nem csinalja meg, illetve adott esetben tulmukodese van, mivel nem csak a konstans szamokat, hanem minden #define sor altal meghatarozott dolgot felold. Legy ovatos vele.
En elso korben valami awk scriptet csapnek ossze hozza, ami megcsinalja a kommentek kidobasat meg a soregybesitest, a konstans feloldas meg ugyis bonyibb, meg azt nem is biztos hogy erdemes megtenni.
--


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

a random string nem elég szemét húzás... itt lentebb láttam az új ötletet, megfelelő mennyiségű aláhúzásjel:)
régebben olyanról is hallottam, hogy az 1lI (egyes szám, kis l, nagy I) betűkből alkotott stringre kell cserélni a változóneveket, mert az jól összefolyik a monitoron... de főleg az egy és a nagyi.

Én a láthatóan elb..ott forráskódot nem venném át, ha a megrendelőnek lennék... Aztán lehet játszadozni a dologgal, de a teljesítési igazolást csak neki kell alávésnie...

Notehát.
A szóban utólag (igen, hiba) megrendelt módosításokat nem akarja kifizetni, de a szerződés szerinti forráskódra igényt tart. A két állapot nem választható szét jelenleg.
És ezt írtam "Megjegyzések kivágása, konstansok behelyettesítése, sorok egyesítése, miegymás".
A miegymást akkor ki is húznám, az ötletek "durvaságát" látván.
Szóval, ha dolgoznunk kellett kvázi ingyen, akkor dolgozzon ö is, ha tovább akar lépni innen!

+1
Ha mégis megpróbálkozol vele (mármint STP), akkor néhány jólirányzott sed szkript csodákra képes. Első menetben kigyűjteni (reguláris kifejezés segítségével, pl. sed) az int, double, float, char ... utáni sztringeket a ";", a " ", a "[", és a "=" karakterig (meg amit kihagytam) egy fájlba. Majd a fájl tartalma alapján véletelenszerűen, vagy módszeresen helyettesítő sztringek generálás. És ez alapján a cserék végrehajtása (szintén lehet sed).
Utána minden sor "/*"-al kezdődő részének törlése a sor végéig (lehet sed).
Minden sor "//"-al kezdő részének törlése a sor végéig, utána minden sor törlése a "//" jelig. Ez kicsit macerásabb de sejtésem szerint ez is mehet sed-el (hasonlót még nem csináltam, de emlékeim szerint a doksi szerint lehet), esetleg awk-al.

1. kiegészítés: Az eredeti kódot ne töröld, mert valószínűleg nem fogja elfogadni a megrendelő az "egyszerűsített" változatot :-).

2. kiegészítés: ha nagyon ráérsz, és törvényesen ki akarsz tolni vele, akkor írd át a kódot szerződés szerinti (szóbeli módosítások nélküli) verzióra, és azt add át szépen kommentezve. Ekkor egy szava sem lehet. Legfeljebb legközelebb nem veled dolgoztat, de szerintem ez a veszély már nem áll fenn. Vagy pedig marad a tanulópénz elkönyvelése.

-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5

Persze, nyílván árnyaltabb a kép, én arról az esetről beszéltem, hogy "s ha a megállapodás úgy szól, ... ", akkor blablabla.
Igazságot tenni úgysem tudunk, te tudod hogy mi van a megrendelővel, mi nem, én a gcc -E megoldást ismerem, másról nem tudok.
(Megírni mondjuk nem lenne sok, ami neked kell.)

gcc- E, azthiszem.... Csak a preprocesszort futtatja!