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

Lua koda warning..

 
dev.gamez.lv Forum Index -> Pļāpātuve
View previous topic :: View next topic  
Author Message
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Mon Jul 27, 2009 7:18 pm    Post subject: Lua koda warning..

Nesen vajadzēja apskatīt augstāka līmeņa warning'us un pamanīju vienu, kurš norādīja uz Lua kodu.
Quote:
lua\src\loslib.c(212) : warning C4702: unreachable code

Interesanti ir tas, ka kods, kurš izmeta warning'u, ir šāds:
Code:
static int os_exit (lua_State *L) {
  exit(luaL_optint(L, 1, EXIT_SUCCESS));
  return 0;  /* to avoid warnings */
}

Laikam no warning'iem šajā gadījumā nav iespējams izvairīties.. Very Happy
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Jul 29, 2009 8:33 am    Post subject:

3rd party bibliotēkas nav vērts kompilēt ar augstāku warning leveli kā tās veidotas. Loģiski, ja developeris nebūs pārbaudījis uz augstāku leveli, tad viņa kods var mest warningu tādā. Tur nav par ko brīnīties.
Tapēc kompilē citu kodu ar leveli kāds tam domāts, un tikai savam liec augstāko leveli kādu vēlies.

Konkrētajā koda gabalā no warninga iespējams izvairīties lietojot C/C++ kompileatora specifiskas fīčas (vismaz GCC un MSVC kompilatoriem) - pasakot kompilatoram, ka funkcija nekad neatgriezīs koda vadību atpakaļ. Vai prātīgāk to izlabot, nelikot funkcijas atgriežamo vērtību kā int tipu.
Back to top
View user's profile Send e-mail
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Wed Jul 29, 2009 10:41 am    Post subject:

Quote:
Vai prātīgāk to izlabot, nelikot funkcijas atgriežamo vērtību kā int tipu.

Lua funkcijaam vienmeer jaatgriezh int. Taka shis nederees. Bet iisti nesapratu par pirmo variantu. Kur VC taadu settingu var uzlikt?
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Jul 29, 2009 11:03 am    Post subject:

Nu man Lua kods ir iedzīts spēlē, tāpēc līdzi visiem projekta settingiem mainījās arī tie, tāpēc arī šādu joku atradu...

Bet es laikam atradu pie declspec'iem to, ko bubu domāja - http://msdn.microsoft.com/en-us/library/k6ktzx3s.aspx
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Jul 29, 2009 1:50 pm    Post subject:

elvman (El-Vee) wrote:
Lua funkcijaam vienmeer jaatgriezh int. Taka shis nederees.

Vienmēr var kāstot (kas protams arī nav smuki :)
Code:
static void os_exit_dummy (lua_State*)
{
    exit(luaL_optint(L, 1, EXIT_SUCCESS));
}

static int (*os_exit)(lua_State*) = (int (*)(lua_State*))&os_exit_dummy;
// vai arī kāstu tur, kur tas os_exit jālieto kādā lua APĪ
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Pļāpātuve 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