ceckovy kviz
Miroslav Šinko
sinkomiro na gmail.com
Čtvrtek Září 7 10:39:32 CEST 2023
Ano, lokalne vypnut warningy je dovolene len na bezpecny kod a uplne
vynimocne.
Niektora verzia VS hlasila warning v zmysle, ze je to microsoft
extension na inicializaciu poli struktur, kde sa pouzili adresy
premenntych. Ten zapis sme pouzivali, lebo je prehladny, urcite funkcny
(potvrdene v MSDN), tak tam sme si dovolili pragmou potlacit hlasenie
warningu. Konkretne toto (nazvy premennych som zamerne prepisal na
pismena abecedy)
double dA=0, dB=0, dC=0, dD=0;
#pragma warning(push)
#pragma warning(disable : 4221 4204)
XBindColumnInfo xBCI[]=
{
{SQL_C_DOUBLE, &dA, 0},
{SQL_C_DOUBLE, &dB, 0},
{SQL_C_DOUBLE, &dC, 0},
{SQL_C_DOUBLE, &dD, 0},
{0,0,0}
};
#pragma warning(pop)
Alebo ked sme pouzivali headre k nejakemu API od 3. strany a tie boli
napisane tak "kvalitne", ze obsahovali warningy, tak okolo include sme
tie pragmy dali.
miro
On 07.09.2023 10:25, Pavel Hudeček wrote:
> Myslím, že ty pravidla jsou velmi dobrý. Není nic horšího, než hledat
> chybu v programu, kterej při 25minutové kompilaci vygeneruje 1500 warningů.
> Ještě bych tam přidal, že ani lokálně se nesmí vypínat okolo míst, kde
> je nějaká pointerová aritmetika:-)
>
> PH
>
> Dne 07.09.2023 v 0:09 Miroslav Šinko napsal(a):
>> No a Visual C hodi na while(1) warning v zmysle, ze condition is
>> always true, takze pouzivame for(;;)
>>
>> Pozn. podla doporuceni mame zapnuty najvyssi warning level a ziadne
>> konkretne warningy nesmieme globalne vypinat. Na urcity kus kodu mozme
>> pouzit #pragma warning push, potom disable cislo warningu a na konci
>> pop. Ale kvoli cyklom pouzit dalsie 3 riadky, to je lepsi ten for(;;).
>> No a teda kompilacia musi skoncit s 0 warnings :)
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list