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