IDE pro C

Josef Štengl ok1ced na nagano.cz
Pátek Září 28 21:32:18 CEST 2012


Je to větší projekt, ale zase až tak velký ne.

Naposledy jsem dělal na projektu který měl přeze 2600 zdrojových 
souborů. Celkově jich bylo přeze 14000 (čtrnáct tisíc :-) bez toolů jako 
cygwin (pod Woknama se jednoduše pořádně nedají psát skripty; chybí tam 
základní nástroje. To jsou ty co jste musel hledat co znamenají, většina 
jich je přes 30 let stará a předpokládám, že ještě tak dlouho vydrží :-)

Dělal jsem „jen“ sériovou údržbu (což překvapivě také znamenalo i nové 
funkce) a používal se textový editor (no dobrá v mém případě gVIM s pár 
pluginama :-) a make, několik utilitek (ty letité) a perl (neumím awk). 
Nikdo na tyto projekty nepoužíval komplexní IDE (jen jako editor, pokud 
byl na něj zvyklý). A ano, pořádný debugger, nic integrovaného, to byla 
nutnost, když člověk měl na stole nový čip a starou erratu :-)

Make umělo načítat požadované data od zákazníka až po vygenerování 
datového balíčku pro něj, včetně požadovaných SW testů a to příkazem 
make <požadavek> (ke 40 položkám). Když je to slušně napsané, tak se dá 
po počáteční panice i docela snadno udržovat.

Nedokážu si představit, jak bych to dělal v nějakém IDE. Tolik externích 
toolů a závislostí by bylo velmi časově náročné skloubit s IDE, které by 
tam navíc přinášelo vlastní chyby. O automatickém generování makefile 
(nebo něco podobného) ani nemluvím.

K nástrojům. Těch pár co se používají se naučte. Většina už byla za dob 
UNIXU a zbytek jsou GNU tooly (Linuxové ne, to je jen jádro). Zcela 
běžně se používají i na Windows systému, protože on nic takového nemá.

Textový editor nutně neznamená, že jen zobrazuje text, některé dokáží od 
zvýrazňování syntaxe přes zobrazování definic po práci s SVC

Mimochodem, neznám IDE s pořádným editorem textu. A IDE jsou takové … 
jájistické (jen já jsem ten správný nástroj).

ced




Dne 28.9.2012 11:01, Miroslav Šinko napsal(a):
> Ano, kym je v projekte 1 makefile, je to vcelku zrozumitelne a ma to
> plusy, o ktorych pises.
>
> Prebrali sme projekt od jednej externej firmy. Projekt pozostava zo
> 178 adresarov a 1779 suborov. V roote ma makefile,  makefile.depend a
> makefile.include. Okrem toho v kazdom nekoncovom podadresari (za
> koncovy povazujem taky, ktory uz neobsahuje podadresare, len subory)
> ma tiez svoj makefile a makefile.include. Okrem toho je jeden adresar
> zvlastny, ten odsahuje makefile pre kompilaciu roznych typov zdrojakov
> (C, asm, java, latex, pl, atd + makefile.common). Komplet build sa
> robi make clean, make depend, make v root adresari. Potom ak nic
> nemenis v headroch, staci make. Tie makefile su robene tak, ze
> adresare sa prechadzaju rekurzivne, v kazdom sa vola vlastny makefile,
> ale vsetky nakoniec volaju tie spravne makefile pre dany typ zdrojaku.
> Z celeho buildu sa generuje 5 cielovych targetov, okrem toho viac ako
> 10 targetov libiek, ktore sa pouzivaju v tych cielovych.
> Je to pracovna zalezitost, takze nemozem poslat ukazku tych makefilov,
> ale bez urazky, Tvoj navod na ich pochopenie nestaci a v mnohom som
> nebol mudry ani studiom dokumentacie k make... Projekt bol vytvoreny v
> Linuxe, t.j. musel som si ako nelinuxak nastudovat linuxove commandy,
> ktorych je tam hodne. To nie je vyhovorka, pisem to len na dokreslenie
> mojho zufalstva, ked som pri niektorych zapisoch netusil, ci ich
> hladat v manuali k make, alebo medzi commandami linuxu (nebo take
> voboji).
> Povodni autori pri vyvoji toho projektu vraj pouzivali len textovy
> editor. NEVERIM! Nebol najmensi problem importovat projekt do Eclipse
> ako makefile typ, takze cely build je riadeny povodnymi makefilami.
> Plus ale mame "go to definition" apod...
>
> miro
>
>


Další informace o konferenci Hw-list