dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

POD struktūru cilvēcīga inicializēšana.

 
dev.gamez.lv Forum Index -> Programmēšana
View previous topic :: View next topic  
Author Message
BHC
Guest





PostPosted: Sat Dec 31, 2005 12:31 am    Post subject: POD struktūru cilvēcīga inicializēšana.

Pie POD struktūras inicializēšanas, kā, piemēram,
PIXELFORMATDESCRIPTOR pfd = { 0 };
Mēs pretī saņemam virkni vārningu, ka
"missing initializer for member... tiri piri..", kas man liek domāt, ka dotais kompilātors noinicializēs tikai pirmo memberi, nevis visus kā pēc standarta tam vajadzētu būt.

Protams, inicializēt var "gejiskā" veidā ar memsetu vai ZeroMemory, kā
ZeroMemory (&pfd, sizeof (pfd));, bet tas nav īsti pareizs stils.

Softs: Code::Blocks ar ieslēgtiem defaultajiem vārningiem un GNU GCC kompilātoru. Jā, vārningus var izslēgt, bet bez viņiem pilnībā negribu palikt, ņerr. ;)

BTW, MS Visual C++ nepurkst par tādu inicializēšanu.

Discuss.
Back to top
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sat Dec 31, 2005 3:57 pm    Post subject:

Hm...
Paņēmu šādu kodu:
Code:
#include <windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
  PIXELFORMATDESCRIPTOR pfd = { 0 };
  printf("%i\n", ChoosePixelFormat(0, &pfd)); /* lai nav unused variable pfd */
  return 0;
}

Kompilēju gan kā
Code:
gcc main.c -lgdi32 -Wall

gan arī kā
Code:
g++ main.cpp -lgdi32 -Wall

Nebija neviena warninga.
GCC versija 3.4.4
Back to top
View user's profile Send e-mail
BHC
Guest





PostPosted: Sat Dec 31, 2005 5:23 pm    Post subject:

Man tie vārningi metās ar -W, bet ar -Wall šancē feini, yay.
Back to top
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sat Dec 31, 2005 5:39 pm    Post subject:

-W (aka -Wextra) ir ļoti strikti warningi, tāpēc tie arī metās. Gan jau uz VC arī var tādus uzslēgt. Cik es esmu redzējis vairums cilvēku lieto -Wall warningus.
http://gcc.gnu.org/onlinedocs/gcc-3.4.5/gcc/Warning-Options.html#index-W-229
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Programmēšana All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group