GCC - implicitní číselný datový typ

Jindroush kubecj na asw.cz
Středa Březen 18 14:19:26 CET 2015


Klicova slova static code analysis, clang, cppcheck, lint.
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C.2FC.2B.2B

On 18.3.2015 14:16, Ondřej Staněk wrote:
> Děkuji Vám za odpověď.
> 
> Možná bude právě ta nejschůdnější cesta zajistit, aby byl kód vskutku
> multiplatformní. Pak se na problém můžu dívat tak, že kód který není
> multiplatformní je chybný a neměl by projít testy.
> 
> Ona ta část kódu, kterou testuji není nijak vázána na konkrétní
> platformu - nevyžaduje ani některé základní knihovny ( stdio, stdlib).
> Žádná práce s řetězci, dynamická alokace, vstup/výstup. Pouze holé
> výpočty a funkční volání, struct, enum, statická pole. To je vše.
> 
> Teď jen hádám - pro tenhle konkrétní případ by to asi znamenalo, že
> vynutíme explicitní přetypování před každou numerickou konstantu v kódu.
> Je to asi cesta do pekel, ale čistě teoreticky, možná by šlo takové
> chování nastavit v gcc? Např. že překladač vypíše spoustu paranoidních
> warningů pokaždé, když hrozí podobná chyba v číselných výrazech (chybí
> přetypování před konstantou).
> 
> Asi bych se měl spíše zaměřit tímto směrem, možná existují nějaké
> nástroje které kontrolují, zda je C kód multiplatformní (nebo alespoň
> upozorní na potenciální chyby).
> 
> Přeji pěkný den,
> Ondra Staněk
> 
> On 03/18/2015 12:41 PM, Jan Waclawek wrote:
>>> vrtá mi hlavou jakým způsobem lze nastavit implicitní číselný datový typ 
>>> pro překladač GCC. Vysvětlím na příkladě:
>> Nijakym.
>>
>> Ja chapem Vasu motivaciu, ale je scestna z principu.
>>
>>> Mám multiplatformní C kód, 
>> Tak to teda nemate. 
>> Ak ma byt multiplatformny, tak musi byt tak napisany explicitne, t.j. tam
>> to pretypovanie konstanty resp. zapis konstanty s explicitlne predpisanou
>> sirkou musite mat. Bodka.
>>
>>> (AVR). Kód je pokrytý automatickými testy (unit tests). Automatické 
>>> testování probíhá na PC, kvůli rychlosti a snadnému debugování. 
>> Chyba. Testuje sa zasadne na cielovej platforme a s takymi nastaveniami
>> prekladaca, ktore su zhodne s cielovym nastavenim. Bodka.
>>
>>> Emulátor není moľné při testech pouľít, 
>>> kód musí běľet nativně na PC (kvůli testovacímu frameworku a vazbám na 
>>> integrační testy).
>> Zakladna chyba je potom v testovacom frameworku, zahodte ho, vymente ho,
>> prepiste ho. 
>>
>> Mimochodom, okrem emulatorov (resp. v pripade AVR s pravdepodobnostou
>> hraniciacou s istotou aj tak emulator nemate, mate OCD a nadvazujuce
>> nastroje) existuju aj simulatory; ale do toho by som ja osobne pre tento
>> pripad tiez nesiel.
>>
>> Akakolvek ina odpoved Vas zavedie do bludneho kruhu, dajte si povedat.
>>
>> wek
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> 
> 
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 


-- 
Jindroush (kubecj na avast.com)
http://www.kostky.org - Pro fany stavebnic LEGO.


Další informace o konferenci Hw-list