GCC - implicitní číselný datový typ

Ondřej Staněk ostan89 na gmail.com
Středa Březen 18 14:16:14 CET 2015


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

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150318/7eb0db77/attachment.html>


Další informace o konferenci Hw-list