View previous topic :: View next topic |
Author |
Message |
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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.. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: 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 |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: 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 |
|
|
|