久久精品中文字幕av,av.涩涩涩涩涩涩涩涩,亚洲国产日韩欧美精品成人久久久,成人福利电影免费在线观看,日产国产原创av,日韩av午夜激情,bt天堂中文字幕,超级碰人妻在线视频,欧美老熟妇久久一区二区

??一站式輕松地調(diào)用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
## 基礎(chǔ)概念 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#states)states Lua連接庫是完全可重入的,因為它沒有全局變量。Lua解釋器的整個state(如全局變量、堆棧等)都存儲在一個結(jié)構(gòu)類型為Lua_State動態(tài)分配的對象里。指向這一對象的指針必須作為第一個參數(shù)傳遞給所有連接庫的API,除了用來生成一個Lua state的函數(shù)——lua_open。在調(diào)用所有的API函數(shù)之前,你必須先用lua_open以生成一個state: ~~~ lua_State* lua_open(void); ~~~ 可以通過調(diào)用lua_close來釋放一個通過lua_open生成的state: ~~~ void lua_close (lua_State *L); ~~~ 這一函數(shù)銷毀給定的Lua_State中的所有對象并釋放state所占用的動態(tài)內(nèi)存(如果有必要的話將通過調(diào)用對應(yīng)的垃圾收集元方法來完成),在某些平臺上,你不必調(diào)用這個函數(shù),因為當(dāng)宿主程序退出時會釋放所有的資源,換句話說,長期運行的程序,如守護進程或web服務(wù)器,應(yīng)盡快釋放state所占的資源,以避免其過于龐大。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#堆棧與索引)堆棧與索引 Lua使用虛擬堆棧機制和C程序互相傳值,所有的堆棧中的元素都可以看作一個Lua值(如nil, number, string等)。 當(dāng)Lua調(diào)用C函數(shù)時,被調(diào)用的C函數(shù)將得到一個新的堆棧。這一堆棧與之前調(diào)用此函數(shù)的堆棧無關(guān),也有其它C函數(shù)的堆棧無關(guān)。這一新的堆棧用調(diào)用C函數(shù)要用到的參數(shù)初始化,同時,這一堆棧也被用以返回函數(shù)調(diào)用結(jié)果。 為了便于操作,在API的中大量操作都并不依從堆棧只能操作棧頂元素的嚴格規(guī)則。而通過索引引用堆棧的任一元素。一個正整數(shù)索引可以看作某一元素在堆棧中的絕對位置(從1開始計數(shù)),一個負整數(shù)索引可以看作某一元素相對于棧頂?shù)钠屏俊? 特別地,如果堆棧中有n個元素,那么索引1指向第一個元素(即第一個壓入棧的元素)索引n指向最后一個元素;反過來,索引-1指向最后一個元素(即棧頂元素)索引-n指向第一個元素。當(dāng)一個索引大于1并小于n時我們稱其為一個有效索引(即1 <= abs(index) <= top)。 ## [](https://github.com/andycai/luaprimer/blob/master/07.md#接口解析)接口解析 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_newstate)lua_newstate ~~~ lua_State *lua_newstate (lua_Alloc f, void *ud); ~~~ 創(chuàng)建一個新的獨立 state,不能創(chuàng)建返回 NULL。形參 f 是 allocator 函數(shù),Lua 通過這個函數(shù)來為這個 state 分配內(nèi)存。第二個形參 ud,是一個透明指針,每次調(diào)用時,Lua簡單地傳給 allocator 函數(shù)。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_openlua_close)lua_open/lua_close lua_open 被 lua_newstate 替換,可以使用luaL_newstate從標準庫中創(chuàng)建一個標準配置的 state,如: lua_State *L = luaL_newstate(); 。 ~~~ void lua_close (lua_State *L); ~~~ 銷毀指定的 state 中所有的對象,并釋放指定的 state 中使用的所有動態(tài)內(nèi)存。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_loadlua_calllua_pcalllua_cpcall)lua_load/lua_call/lua_pcall/lua_cpcall 這些函數(shù)的目的就是讓我們能夠執(zhí)行壓入棧中的函數(shù),該函數(shù)可能是lua中定義的函數(shù),可能是C++重定義的函數(shù),當(dāng)然我們一般是用來執(zhí)行l(wèi)ua中執(zhí)行的函數(shù),C++中定義的基本上可以直接調(diào)用的。 ~~~ int lua_load (lua_State *L, lua_Reader reader, void *data, const char *chunkname); void lua_call(lua_State *L, int nargs, int nresults); void lua_pcall(lua_State *L, int nargs, int nresults, int errfunc); void lua_cpcall(lua_State *L, int nargs, int nresults, int errfunc, void *ud); ~~~ L是執(zhí)行環(huán)境,可以理解為當(dāng)前棧,nargs參數(shù)個數(shù),nresults返回值個數(shù)。lua_pcall和該函數(shù)區(qū)別是多一個參數(shù),用于發(fā)生錯誤處理時的代碼返回。lua_cpcall則又多一個用于傳遞用戶自定義的數(shù)據(jù)結(jié)構(gòu)的指針。 lua_call的運行是無保護的,他與lua_pcall相似,但是在錯誤發(fā)生的時候她拋出錯誤而不是返回錯誤代碼。當(dāng)你在應(yīng)用程序中寫主流程的代碼時,不應(yīng)該使用 lua_call,因為你應(yīng)該捕捉任何可能發(fā)生的錯誤。當(dāng)你寫一個函數(shù)的代碼時,使用lua_call是比較好的想法,如果有錯誤發(fā)生,把錯誤留給關(guān)心她的人去處理。所以,寫應(yīng)用程序主流程代碼用lua_pcall,寫C Native Function代碼時用lua_call。 **示例1:** Lua 代碼: ~~~ a = f("how", t.x, 14) ~~~ C 代碼: ~~~ lua_getfield(L, LUA_GLOBALSINDEX, "f"); /* function to be called */ lua_pushstring(L, "how"); /* 1st argument */ lua_getfield(L, LUA_GLOBALSINDEX, "t"); /* table to be indexed */ lua_getfield(L, -1, "x"); /* push result of t.x (2nd arg) */ lua_remove(L, -2); /* remove 't' from the stack */ lua_pushinteger(L, 14); /* 3rd argument */ lua_call(L, 3, 1); /* call 'f' with 3 arguments and 1 result */ lua_setfield(L, LUA_GLOBALSINDEX, "a"); /* set global 'a' */ ~~~ 在上面的例子除了描述了lua_call的使用外,還對lua_getfield的使用有一定的參考價值。特別是學(xué)習(xí)如何在一個表中獲取他的值。 在上面的例子中,可能再調(diào)用lua_getfield時就會忘記調(diào)用lua_remove,當(dāng)然這是我想象自己使用時會犯下的錯。lua_getfield函數(shù)功能是從指定表中取出指定元素的值并壓棧。上面獲取t.x的值的過程就是先調(diào)用: ~~~ lua_getfield(L, LUA_GLOBALSINDEX, "t"); ~~~ 從全局表中獲取t的值,然而t本身是一個表,現(xiàn)在棧頂?shù)闹凳莟表。于是再一次調(diào)用: ~~~ lua_getfield(L, -1, "x"); ~~~ 從t中取出x的值放到棧上,-1表示棧頂。那該函數(shù)執(zhí)行完成后t的位置由-1就變成-2了,所以下面一句 lua_remove 索引的是-2,必須把t給remove掉,否則棧中就是4個參數(shù)了。上面的最后一句 lua_setfield 的目的是把返回值取回賦給全局變量a,**因為在lua_call執(zhí)行完成后,棧頂?shù)木褪欠祷刂盗?*。 **示例2:** ~~~ //test.lua function printmsg() print("hello world") end x = 10 //test.c #include <stdio.h> #include <unistd.h> #include <lua.h> #include <lauxlib.h> #include <lualib.h> int main(int argc, const char *argv[]) { lua_State *L; if(NULL == (L = luaL_newstate())) { perror("luaL_newstate failed"); return -1; } luaL_openlibs(L); if(luaL_loadfile(L, "./test.lua")) { perror("loadfile failed"); return -1; } lua_pcall(L, 0, 0, 0); lua_getglobal(L, "printmsg"); lua_pcall(L, 0, 0, 0); lua_close(L); return 0; } ~~~ 上面的代碼就是在test.c中調(diào)用test.lua的函數(shù)printmsg函數(shù)。 對于上面的C代碼,我想大家都知道幾個函數(shù)的大概作用: * luaL_newstate():創(chuàng)建一個新的Lua虛擬機 * luaL_openlibs():打開一些必要的庫,比如print等 * luaL_loadfile():手冊上寫的是"This function uses lua_load to load the chunk in the filenamed filename." 而lua_load就是把編譯過的chunk放在stack的頂部。理解chunk很重要,后面會具體講到 * lua_pcall:執(zhí)行棧上的函數(shù)調(diào)用 一開始我一直認為既然 luaL_loadfile 執(zhí)行以后,就可以直接用 lua_getglobal 獲得test.lua中的函數(shù),其實不然。**手冊中明確提到,lua_load把一個lua文件當(dāng)作一個chunk編譯后放到stack的棧頂,而什么是chunk呢?chunk就是一個可執(zhí)行語句的組合,可以是一個文件也可以是一個string**,“Lua handles a chunk as the body of an anonymous function with a variable number of arguments”這是Lua對chunk也就是lua文件的處理方式,就是認為是一個可變參數(shù)的匿名函數(shù)。也就是說,調(diào)用后棧上有一個匿名函數(shù),這個函數(shù)的body就是文件中所有的內(nèi)容。 在 luaL_loadfile 后,調(diào)用 lua_gettop 以及 lua_type 可以知道棧的大小為1,放在棧上的是一個 function 類型的value。為什么 loadfile 后我們不能直接獲取到 printmsg 這個函數(shù)呢,那是因為剛才提到的,loadfile僅僅視編譯lua文件,并不執(zhí)行這個文件,也就是說只是在棧上形成了一個匿名函數(shù)。只有執(zhí)行這個函數(shù)一次,才會使得printmsg可以通過 lua_getglobal 獲取,否則,全局變量是空的。我在手冊上看到這樣一句話:Lua在執(zhí)行函數(shù)的時候,函數(shù)會實例化,獲得的 closure 也是這個函數(shù)的最終值。其實不管是函數(shù),還是其他類型,如果不執(zhí)行的話,它們只是被編譯,并不能在進程的空間種獲取到他們,感覺就像c的庫一樣,他們的編譯文件.so已經(jīng)存在,但是如果你不調(diào)用它,那么庫中所有的變量不能被實例化,調(diào)用者也就無法訪問。其實pringmsg和x本質(zhì)是一樣的,只是他們類型不同而已。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_getfieldlua_setfield)lua_getfield/lua_setfield ~~~ void lua_getfield (lua_State *L, int index, const char *k); ~~~ 把值 t[k] 壓入堆棧,t 是給定有效的索引 index 的值,和在 Lua 中一樣,這個函數(shù)可能會觸發(fā)元方法 index 事件。 ~~~ void lua_setfield (lua_State *L, int index, const char *k); ~~~ 相當(dāng)于 t[k] = v,t 是給定的有效索引 index 的值,v 是堆棧頂部的值,這個函數(shù)會彈出這個值,和在 Lua 中一樣,這個函數(shù)可能會觸發(fā) newindex 元方法事件。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_getgloballua_setglobal)lua_getglobal/lua_setglobal lua_getglobal ~~~ void lua_getglobal (lua_State *L, const char *name); ~~~ 把全局 name 的值壓入棧頂,它被定義為宏(macro): ~~~ #define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, s) ~~~ lua_setglobal ~~~ void lua_setglobal (lua_State *L, const char *name); ~~~ 從棧中彈出一個值并賦值給全局 name,它被定義成宏(macro): ~~~ #define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, s) ~~~ ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_gettoplua_settoplua_pop)lua_gettop/lua_settop/lua_pop 在任何時候,你都可以通過調(diào)用lua_gettop函數(shù)取得棧頂元素的索引: ~~~ int lua_gettop (lua_State *L); ~~~ 因為索引從1開始計數(shù),lua_gettop的返回值等于這個堆棧的元素個數(shù)(當(dāng)堆棧為空時返回值為0) ~~~ void lua_settop (lua_State* L, int index ); ~~~ lua_settop用于把堆棧的棧頂索引設(shè)置為指定的數(shù)值,它可以接受所有可接受索引。如果新的棧頂索引比原來的大,則新的位置用nil填充。如果index為0,則將刪除堆棧中的所有元素。在lua.h中定義了如下一個宏: ~~~ #define lua_pop(L,n) lua_settop(L,-(n)-1) ~~~ 用以把堆棧上部的n個元素刪除。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_pushvaluelua_insertlua_removelua_replace)lua_pushvalue/lua_insert/lua_remove/lua_replace ~~~ void lua_pushvalue (lua_State* L, int index); void lua_remove (lua_State* L, int index); void lua_insert (lua_State* L, int index); void lua_replace (lua_State* L, int index); ~~~ lua_pushvalue壓入一個元素的值拷貝到指定的索引處,相反地,lua_remove刪除給定索引的元素,并將之一索引之上的元素來填補空缺。同樣地,lua_insert在上移給定索引之上的所有元素后再在指定位置插入新元素。Lua_replace將棧頂元素壓入指定位置而不移動任何元素(因此指定位置的元素的值被替換)。這些函數(shù)都僅接受有效索引(你不應(yīng)當(dāng)使用假索引調(diào)用lua_remove或lua_insert,因為它不能解析為一個堆棧位置)。下面是一個例子,棧的初始狀態(tài)為10 20 30 40 50?_(從棧底到棧頂,“_”標識為棧頂,有: ~~~ lua_pushvalue(L, 3) --> 10 20 30 40 50 30* lua_pushvalue(L, -1) --> 10 20 30 40 50 30 30* lua_remove(L, -3) --> 10 20 30 40 30 30* lua_remove(L, 6) --> 10 20 30 40 30* lua_insert(L, 1) --> 30 10 20 30 40* lua_insert(L, -1) --> 30 10 20 30 40* (沒影響) lua_replace(L, 2) --> 30 40 20 30* lua_settop(L, -3) --> 30 40* lua_settop(L, 6) --> 30 40 nil nil nil nil* ~~~ ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_gettablelua_settable)lua_gettable/lua_settable ~~~ void lua_gettable (lua_State *L, int index); ~~~ 把 t[k] 壓入堆棧,t 是給出的有效的索引 index 的值,k 是棧頂?shù)闹?,這個函數(shù)會從堆棧中彈出 key,并將結(jié)果值放到它的位置,和在 Lua 一樣,函數(shù)可能會觸發(fā)一個元方法 index 事件。 ~~~ void lua_settable (lua_State *L, int index); ~~~ 相當(dāng)于 t[k]=v,t 是給出的有效的索引 index 的值,v 是堆棧頂部的值,k 是堆棧頂部下面的值。這個函數(shù)會從堆棧中彈出 key 和 value 的值,和在 Lua 中一樣,函數(shù)可能會觸發(fā)元方法 newindex 事件。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_concat)lua_concat ~~~ void lua_concat (lua_State *L, int n); ~~~ 用來連接字符串,等價于Lua中的..操作符:自動將數(shù)字轉(zhuǎn)換成字符串,如果有必要的時候還會自動調(diào)用metamethods。另外,她可以同時連接多個字符串。調(diào)用lua_concat(L,n)將連接(同時會出棧)棧頂?shù)膎個值,并將最終結(jié)果放到棧頂。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_typelua_typename)lua_type/lua_typename ~~~ int lua_type (lua_State *L, int index); ~~~ lua_type返回堆棧元素的值類型,當(dāng)使用無效索引時返回LUA_TNONE(如當(dāng)堆棧為空的時候),lua_type返回的類型代碼為如下在lua.h中定義的常量:LUA_TNIL,LUA_TNUMBER,LUA_TBOOLEAN,LUA_TSTRING,LUA_TTABLE,LUA_TFUNCTION,LUA_USERDATA,LUA_TTHEARD,LUA_TLIGHTUSERDATA。下面的函數(shù)可以將這些常量轉(zhuǎn)換為字符串: ~~~ const char* lua_typename (lua_State* L, int type); ~~~ ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_checkstack)lua_checkstack 當(dāng)你使用Lua API的時候,你有責(zé)任控制堆棧溢出。函數(shù) ~~~ int lua_checkstack (lua_State *L, ine extra); ~~~ 將把堆棧的尺寸擴大到可以容納top+extra個元素;當(dāng)不能擴大堆棧尺寸到這一尺寸時返回假。這一函數(shù)從不減小堆棧的尺寸;當(dāng)前堆棧的尺寸大于新的尺寸時,它將保留原來的尺寸,并不變化。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_is)lua_is*** ~~~ int lua_isnumber(lua_State *L, int index); int lua_isboolean(lua_State *L, int index); int lua_isfunction(lua_State *L, int index); int lua_istable(lua_State *L, int index); int lua_isstring(lua_State *L, int index); int lua_isnil(lua_State *L, int index); int lua_iscfunction(lua_State *L, int index); ~~~ 帶lua_is*前輟的函數(shù)在當(dāng)堆棧元素對象與給定的類型兼容時返回1,否則返回0。Lua_isboolean是個例外,它僅在元素類型為布爾型時成功(否則沒有意思,因為任何值都可看作布爾型)。當(dāng)使用無效索引時,它們總返回0。Lua_isnumber接受數(shù)字或者全部為數(shù)字的字符串;lua_isstring打接受字符串和數(shù)值,lua_isfunction接受lua函數(shù)和C函數(shù);lua_isuserdata也可接受完全和輕量級兩種userdata。如果想?yún)^(qū)分C函數(shù)和lua函數(shù),可以使用lua_iscfunction函數(shù);同樣地,想?yún)^(qū)分完全和輕量級userdata可以使用lua_islightuserdata;區(qū)分數(shù)字和數(shù)字組成的字符串可以使用lua_type。 API函數(shù)中還有比較堆棧中的兩個值 的大小的函數(shù): ~~~ int lua_equal(lua_State *L, int index1, int index2); int lua_rawequal(lua_State *L, int index1, int index2); int lua_lessthan(lua_State *L, int index1, int index2); ~~~ lua_equal和lua_lessthan與相對應(yīng)的lua操作符等價(參考2.5.2)。lua_rawequal直接判斷兩個值的原始值,而非通過調(diào)用元方法來比較。以上的函數(shù)當(dāng)索引無效時返回0。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_to)lua_to*** ~~~ int lua_toboolean(lua_State *L, int index); lua_CFunction lua_tocfunction(lua_State *L, int index); lua_Integer lua_tointeger(lua_State *L, int index); const char *lua_tolstring(lua_State *L, int index); lua_Number lua_tonumber(lua_State *L, int index); void *lua_topointer(lua_State *L, int index); lua_State *lua_tothread(lua_State *L, int index); const char *lua_tostring(lua_State *L, int index); ~~~ 這些函數(shù)可通過任意可接受索引調(diào)用,如果用無效索引為參數(shù),則和給定值并不匹配類型一樣。 lua_toboolean轉(zhuǎn)換指定索引lua值為C“布爾型”值(0或1)。當(dāng)lua值僅為false或nil時返回0(如果你僅想接受一個真正的布爾值,可以先使用lua_isboolean去測試這個值的類型。 lua_tonumber轉(zhuǎn)換指定索引的值為數(shù)字(lua_Number默認為double)。這一lua值必須數(shù)字或可轉(zhuǎn)換為數(shù)字的字符串(參考2.2.1),否則lua_tonumber返回0。 lua_tostring將指定索引的值轉(zhuǎn)換為字符串(const char*)。lua值必須為字符串或數(shù)字,否則返回NULL。當(dāng)值為數(shù)字,lua_tostring將會把堆棧的原值轉(zhuǎn)換為字符串(當(dāng)lua_tostring應(yīng)用到鍵值上時會使lua_next出現(xiàn)難以找出原因的錯誤)。lua_tostring返回一個完全對齊的字符串指針,這一字符串總是’/0’結(jié)尾(和C一樣),但可能含有其它的0。如果你不知道一個字符串有多少個0,你可以使用lua_strlen取得真實長度。因為lua有垃圾收集機制,因此不保證返回的字符串指針在對應(yīng)的值從堆棧中刪除后仍然有效。如果你以后還要用到當(dāng)前函數(shù)返回的字符串,你應(yīng)當(dāng)備份它或者將它放到registry中(參考3.18)。 lua_tofunction將堆棧中的值轉(zhuǎn)換為C函數(shù)指針,這個值必須為C函數(shù)指針,否則返回NULL。數(shù)據(jù)類型lua_CFunction將在3.16節(jié)講述。 lua_tothread轉(zhuǎn)換堆棧中的值為lua線程(以lua_State*為表現(xiàn)形式),此值必須是一個線程,否則返回NULL。 lua_topointer轉(zhuǎn)換堆棧中的值為通用C指針(void*)。這個值必須為userdata、表、線程或函數(shù),否則返回NULL。lua保證同一類型的不同對象返回不同指針。沒有直接方法將指針轉(zhuǎn)換為原值,這一函數(shù)通常用以獲取調(diào)試信息。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_push)lua_push*** ~~~ void lua_pushboolean(lua_State *L, int b); void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n); void lua_pushcfunction(lua_State *L, lua_CFunction f); const char *lua_pushfstring (lua_State *L, const char *fmt, ...); void lua_pushinteger (lua_State *L, lua_Integer n); void lua_pushliteral void lua_pushlstring(lua_State *L, const char *s, size_t len); void lua_pushnil(lua_State *L); void lua_pushnumber(lua_State *L, lua_Number n); void lua_pushstring(lua_State *L, const char *s); const char *lua_pushvfstring (lua_State *L, const char *fmt, va_list argp); ~~~ 這些函數(shù)接受一個C值,并將其轉(zhuǎn)換為對應(yīng)的lua值,然后將其壓入堆棧。lua_pushlstring和lua_pushstring對給定的字符串生成一個可以互轉(zhuǎn)的拷貝,這是個例外。lua_pushstring能壓C字符串(即以0結(jié)尾并且內(nèi)部沒有0),否則建議使用更通用的lua_pushlstring,它能指定長度。 你同樣可以壓入“格式化”字符串: ~~~ const char *lua_pushfstring (lua_State *L, const char *fmt, ...); const char *lua_pushvfstring (lua_State *L, const char *fmt, va_list argp); ~~~ 這兩個函數(shù)向堆棧壓入格式化字符串并返回指向字符串的指針。它們跟sprintf和vsprintf很象但有如下的重要不同: * 你不用申請內(nèi)存去保存格式化結(jié)果,這結(jié)果是一個lua字符串并且lua自己會小心管理內(nèi)存(并通過垃圾收集機制釋放)。 * 使用轉(zhuǎn)義字符受限。它們沒有標志量、寬度和精確度。轉(zhuǎn)義字符能夠是’%%’(插入一個”%”)、’%s’(插入一個以0結(jié)尾的字符串)、’%f’(插入一個lua_Number)、’%d’(插入一個int)和’%c’(插入一個用int表示的字符)。 ### [](https://github.com/andycai/luaprimer/blob/master/07.md#lua_register)lua_register ~~~ void lua_register (lua_State *L, const char *name, lua_CFunction f); ~~~ 設(shè)置 C 函數(shù) f 為新的全局變量 name 的值,它被定義為宏(macro): ~~~ #define lua_register(L,n,f) (lua_pushcfunction(L, f), lua_setglobal(L, n)) ~~~ ### [](https://github.com/andycai/luaprimer/blob/master/07.md#完整示例)完整示例 ~~~ #include <stdio.h> #include <string.h> #include <lua.hpp> #include <lauxlib.h> #include <lualib.h> void load(lua_State *L, const char *fname, int *w, int *h) { if (luaL_loadfile(L, fname) || lua_pcall(L, 0, 0 ,0)) { printf("Error Msg is %s.\n", lua_tostring(L, -1)); return; } lua_getglobal(L, "width"); // #define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, (s)) lua_getglobal(L, "height"); if (!lua_isnumber(L, -2)) { printf("'width' should be a number\n"); return; } if (!lua_isnumber(L, -1)) { printf("'height' should be a number\n", ); return; } *w = lua_tointeger(L, -2); *h = lua_tointeger(L, -1); } int main() { lua_State *L = luaL_newstate(); int w, h; load(L, "D:/test.lua", &w, &h); printf("width = %d, height = %d\n", w, h); lua_close(L); return 0; } ~~~
99久久久免费毛片基地| 天天干天天插天天操天天日| 亚洲av高清不卡| 青青草成人免费电影| 亚洲丰满熟妇乱xxxxx| 久久久久999蜜桃视频| 国产精品久久久久久xxx| 日本黄色成年视频| 蜜桃av 1区二区| 久久人搡人人玩人妻精品| 亚洲一线产区二线产区区| 久久亚洲精品无码系列客服 | 亚洲情色av网站| 色yeye香蕉凹凸人妻三区| 天天色天天干天天舔| 美国av 在线播放| 国语黄色淫秽录像带| 成人免费av在线网站| 国产无av码在线观看| 国产精品99精品一区二区三区∴| 首页国产中文字幕av| 久久男人精品男人天堂免费视频| 少妇人妻给我内射视频| 国产日韩一区二区三区啪啪啪| 亚洲精品久久第一页| 亚洲五月婷婷视频| 国产精品综合手机在线| 国产无av码在线观看| 蜜臀久久99精品久久久久久久久| 久久国产精品色av免费看| 蜜臀久久99精品久久久久久久久 | 国产丝袜香蕉在线观看| 久久在线人妻熟女高清完整版| 欧美一区二区三区视频午夜| 日韩欧美一级在线视频| 久久久久在线免费看| 国语黄色淫秽录像带| 天美麻豆成人av精品小说| 先锋资源站中文字幕| 欧美日韩一区二区综合视频| 免费av网站在线浏览| 中文字幕+人妻熟女| 日本二次元少女裸| 2020日韩中文字幕| 国产 日韩 欧美 日本| av国产一区二区三区| 日韩色在线视频观看免费| 亚洲aⅴ欧美综合一区二区三区| 欧美日韩一区二区综合视频| 国产成人av吴梦梦视频| 欧美一区二区三区激情无套| 天天摸天天舔天天爱| 国产成AV人片在线观看天堂无码 | 国产成人精品久久久女| 9久久国产精品一区二区| 国产欧美日韩制服丝袜在线| 久久人人爽爽人人爽av| 亚洲国产一成人久久精品| 日韩在线免费视频精品| 青青草成人免费电影| 日韩中文字幕一区二区三区四区| 中文字幕亚洲中文字幕| 五月激情婷婷网络| 91大神精品大长腿在线观看| 五月激情婷婷网络| 亚洲欧美在线制服丝袜| 亚洲伊人网在线观看| 欧美日韩精品成人在线| 麻豆网站在线免费看| 午夜无人影视在线| 色播五月激情四射| 亚洲欧美丝袜精品久久直播| 日韩日韩av在线| 嫩草一区二区三区四区中文 | 大尺度av一区二区三区| 久久久久久少妇被弄高潮| 久久 99 精品视频| 国产又粗又猛又爽又黄的刘涛视| 七十路熟女俱乐部| 国产日韩欧美人妻在线观看| w疯狂的少妇2做爰韩国| 精品久久一区电影亚洲| 99热这里只有精品网| 欧美日韩国产综合aⅴ| 亚洲天堂黄色在线| 大香蕉影视日本大香蕉97| 亚洲一区二区三区久久aa| 99热在线精品免费观看| 精品一区二区三区四区人妻69| 精品国产久久久久99| 国产91久久久久久久| 天堂av最新资源在线| www.成人国产精品| 婷婷午夜美女诱惑福利电影网| 久久久久久添逼视频| 久久激情毛片大放送| 麻豆中文字幕av在线| 亚洲国产精品五月天久久久| 亚洲欧美国产另类91综合| 亚洲天堂网av中文字幕| 99精品高清视频一区二区| 欧美日韩精品一区电影| 国产91熟女免费视频| 亚洲精品图片第十八页| 国产五月天在线观看视频| av日韩在线有码a区| 日韩欧美亚州综合久久 | 中文字幕+人妻熟女| 蜜臀av一区二区三区人妻少妇| 国产精品男人的天堂999| 国产天堂avwww| 日本亚洲天堂久久| 男人的天堂久久久亚洲| 亚洲综合色激情五月| 国产视频av一区二区| 精品人妻久久久久中文字幕19禁| aaaaa亚洲电影| 性欧美另类sex极品free | 久久久久久久久久久免费网| 国产一级淫片免费看久久| 日韩精品午夜免费观看| 国产精品久久久久久久漫画| 人人妻人人澡人人看| 亚洲 欧美 自拍 中文| 日韩av在线精品观看| 99精品视频在线看17| 久久久久久一欧美国产| 另类h小视频在线观看| 色播五月激情四射| 国产网址手机上可以看的国产网站| 91人妻九色大屁股| 国产自拍 偷拍 在线| 91成人国产精品视频| 91久久亚洲成人精品| 搡老熟女一区二区三区四区视频| 久久久久999久久日| 久久综合中文字幕一区二区三区| 久久亚麻亚洲蜜桃臀| 日本老女人视频在线观看| 91沈先生探花极品在线| 国产乱人妻精品久久久| 综合 另类 自拍| 99日本亚洲精品视频| 午夜精品久久久久久久久二区三区| 人妻av不卡一区二区三区| av日韩中文字幕人妻| av熟妇翔田千里俱乐部| 新版天堂av资源在线| 国产一区二区不卡91| 久久视频一区二区三| 欧美 国产 日韩 一区二区| 亚洲综合在线伊人| 日韩av在线不卡网站| 久久视频黄色观看网站| 亚洲另类色区欧美日韩| 又粗又猛又爽黄老大爷视频| 欧美又色又爽又黄又粗暴| 日韩中文字幕视频在线播放| 精品国产乱码久久久久夜深| 另类蜜桃刺激视频在线观看| 91精品一二三区在线观看| 中文字幕一区二区不卡顿| 18禁成年av网站免费看| 欧美日韩人妻久久精品| 欧美精品一区二区在线视频| 青青草久久大香蕉| 亚洲精选黄色在线观看| 日韩av一区中文| 色播网站在线播放| 日韩一级黄色大片免费观看| 青青青青青欧美在线视频观看| 久久视频这里都是精品| 亚洲熟妇免费在线视频| 午夜国产福利电影| 免费观看a级在线视频| 久久久国产精品尤物av| 四虎国产精品久久免费精品| 久久精品中文字幕av| 久久av资源男人站| 日本加勒比中文字幕久久| 天美麻豆成人av精品小说| av蜜臀懂色啊啊啊| 国产美女深喉口爆吞精免费| 少妇人妻视频在线观看| 午夜精品久久婷婷蜜桃| 欧美日韩亚洲国产ay| 亚洲欧美av在线观看| 先锋资源站中文字幕| 福利一福利二福利三| 五月婷婷激情四射综合网| 狠狠久久综合丁香777米奇| 日韩av 自拍偷拍| 久久久亚洲熟妇熟女在线| 国产又大又猛又黄的视频| 七十路熟女俱乐部| 一区二区三区乱码视频| 熟女激情一区二区三区| 无码人妻精品一区二区三区久久| 久久午夜福利电影免费试看| 久久综合中文字幕一区二区三区| 日韩av手机在线电影| 人妻有码中文字幕中文| 人妻办公室被强d在线电影| 搡老熟女一区二区三区老熟女| 国产日韩亚洲大尺度高清| 午夜日韩麻豆福利| 日韩亚洲丝袜系列| 麻豆亚州av熟女国产一区二| 欧美熟妇人妻视频在线| 久久精品色婷婷国产网站| 天天日天天干天天色| 久久视频这里都是精品| 高潮久久久久久久av免费| 高清一区二区三区日本4| 欧美区 日韩区 国产区| 久久久亚洲在线视频| 明天我们好好过高清免费| 五月婷婷激情狠狠| 欧美日韩国产综合aⅴ| 91麻豆精品91久久久久同性| 四虎网站免费av| 亚洲国产一成人久久精品| 搡老熟女一区二区三区四区视频 | 国产中文字幕在线91| 久久成人福利视频资源| 国产又粗又猛又爽又黄的刘涛视| 国产精品一区二区三区福利| 欧美精品一区二区在线视频| 青青青青青欧美在线视频观看| 亚洲欧美自拍偷拍在线观看| 青青青在线视频自拍| 国产精品久久久久久xxx| 欧美又色又爽又黄又粗暴| 亚洲欧美日韩国产另类专区| 国产欧美日韩一区二区三区''| 91成人国产精品视频| 久久九特黄的免费大片| 亚洲视频欧美视频另类| 超碰97在线观看国产| 天天操天天干天天做天天射| 五月爱婷婷六月丁香性| 麻豆在线视频看片免费| 欧美熟妇精品在线观看| 久久视频精彩在线观看| 色播网站在线播放| 日本av男优巧克力| 高潮久久久久久久av免费| 色综合精品一区二区三区| 久久久久国产亚洲av麻豆| 热热久久这里只有精品| 国产一区二区三区四区中文字幕| 亚洲成a人片,77777| 5858s在线视频| 欧美日韩精品成人在线| 亚洲欧美日韩一区17c| 丰满的人妻一区七区| 亚洲综合色激情五月| 国产中文字幕在线91| 日韩成人免费电影三区| 久久久久久久久久无吗| 精品国产乱码久久久久夜深| 亚洲香蕉av电影| 久久久久久人妻无码| 日韩av午夜免费| 中文字幕一区二区不卡顿| 蜜桃一区二区三区大香蕉| 精品久久久久久亚洲国产999| 人人妻人人澡人人爽国产一区 | 色图av亚洲综合| 亚洲日韩视频高清在线观看| 国产亚洲精久久久久久无码色戒| 人妻熟 中文字幕| 国产 欧美 日韩 视频| aaaaa亚洲电影| 美日韩美女三级电影| 日韩在线播放视频1区| 久久综合久久综合大香蕉| 中文国产成人精品久久一| 欧美人妻a∨中文字幕在线| 日韩福利视频在线看| 国产无av码在线观看| 国产精品首页在线播放| 亚洲av色图com| 91porny国产九色| 亚洲成人影院中文字幕| 欧美一区二区三区综合色| 久久精品中文闷骚内射| 日韩男女av在线观看| 日韩精品综合免费视频| 精品视频在线观看一区二区97| 免费麻豆国产一区二区三区| 国产高潮国产高潮久久久久久91| 男人的天堂久久精平| 精品久久久久久999| 欧美中文字幕视频网| 丰满的人妻一区七区| 国产精品福利久久久久久久| 久久99精品久久久久久三级| 色视频在线观看123| 亚洲精品乱码97久久久久久| 欧美激情电影在线观看不卡| 欧洲美女黑人粗性暴交视| 久久精品人妻中文字幕一区| 久久精品人人看人人爽| 厕所偷拍视频一区二区三区| 欧美一区二区性久久久| 天天射天天舔天天射| 精品国产久久久久蜜臀| 五月婷婷蜜臀性色av| 精品中文久久久久久| 国产99不卡免费在线观看| 5858s在线视频| 亚洲自拍偷拍色图区| 92视频影院视频影院麻豆| 婷婷 少妇 av| 中文字幕熟女人妻在线网页| 狠狠干中文字幕97视频| 国产一区二区视频大全床| 91久久国产综合久久91在线| 国产清纯白嫩美女无套| 亚洲中文字幕精品高清| 99精品视频在线看17| sepapa自拍偷拍| 国产精品一二三四在线| 婷婷午夜美女诱惑福利电影网| 欧美日韩精品综合在线一区二区| 欧美日韩少妇一二三| 欧美老熟妇重口另类xxx| 91丝袜放荡丝袜脚交| 99九九99九九热视频| 精品日韩色国产在线观看| 丝袜日韩中文字幕| 国产精品久久久久久久久粉嫩av| 99久久久免费毛片基地| 日韩欧美激情入口| 日本熟妇乱子伦a片在线观看| 91精品欧美久久久久视频| 国产熟女高潮av77777| 亚洲图色91东京热| 91精品乱码久久久久久| 亚洲制服高清中文字幕| 国产亚洲精久久久久久无码色戒 | 999热精品在线观看| 亚洲五月婷婷视频| 制服丝袜亚洲欧美第一| 蜜桃视频在线观看一区精品| www日本不卡一二三区| 麻豆中文字幕av在线| 蜜臀久久久久精品一区二区三区 | 久久免费视频观看99| 99日本亚洲精品视频| 97cao瑟瑟在线观看| 亚洲欧美日产人妻| 麻豆中文字幕av在线| 日韩国产91综合精品| 激情五月天狠婷婷| 亚洲自拍偷拍色图区| 亚洲欧美av在线观看| 久久精品国产久精果冻传媒| 日韩免费美女电影| 人妻精品少妇嫩草麻豆| 国产日韩亚洲大尺度高清| 大香蕉久草网一区二区三区| 免费麻豆国产一区二区三区| 久久久亚洲熟妇熟女在线| 亚洲天堂黄色免费| 亚洲精品久久第一页| 国产乱子伦视频免费| 日韩大全毛片免费观看视频| 初撮日本五十路人妻| 欧美精品国产精品久久久| 色婷婷久久久swag精品| 久久久九九九九九精品6| 久久国产精品——国产精品 | 天天日天天干天天色| 在线人妻国产精品| 亚洲一级av大片| 色yeye香蕉凹凸人妻三区| 亚洲阿v天堂久久| 五月爱婷婷六月丁香性| 精品一区二区三区四区日产| 亚洲精品网站成人久久综合| 91人妻九色大屁股| 亚洲 欧美 制服 人妻| 久久精品一区二区三区人妻蜜桃 | 搡老熟女一区二区三区四区视频 | www.亚洲成人色| 国产三级三级三级三级av精品| 麻豆丝袜美女人妻中文| 亚洲欧洲黄色图区| 国产欧美日韩制服丝袜在线| 久久草免费在线视频| 超碰在线免费成人午夜剧场97| 亚洲精品,欧美日韩| 草裙成人精品一区二区三区| 午夜寻花美女在线| 欧美肥臀精品一区二区三区| 亚洲国产aⅴ精品一区二区欧美| 日韩不卡一级成人免费视频| 精品日韩偷拍欧美另类| 国产三级三级三级三级av精品| 亚洲欧洲偷拍自拍| 久久视频一区二区三| av成人教育在线播放| 精品久久久久久18免费网站| 丰满熟女一区二区三区在线| 久久99精品国产91| 日韩二区不卡视频| 精品97人妻无码中文永久| 亚洲av激情小说| 亚洲国产一成人久久精品| 精品久久久久久亚洲国产999| 日韩卡一卡二卡三卡四卡五| 91在线精品国自产拍| 中文字幕精品久久伊人| 在线免费av大香蕉| 日韩a v日日夜夜| 天天干天天插天天操天天日| 97久久碰人妻一区二区三区四 | 亚洲日本韩国欧美一起| 97cao瑟瑟在线观看| 97人妻中文字幕精品视频| 天天日天天干天天爱天天| 久久99精品国产91| 欧美成人黄色一区二区三区| 日本午夜在线免费观看| 欧美日韩成人三级在线| 午夜寻花美女在线| 亚洲午夜电影久久久| 思思久久国产精品视频| 日韩av在线观看免费看看| 日本久久久大片中文字幕 | 日韩成人av影视在线观看| 国产精品色呦呦视频免费看| av福利网站在线观看| 亚洲精品乱码97久久久久久| 亚洲中文字幕精品高清| 天天在线天天综合网色| 中文字幕亚洲中文字幕| 国产又粗又硬又长又爽视频| 福利小视频国产一区| 久久视频免费有精品| 91porny国产九色| 日韩在线免费视频精品| 91久久久久久久久久粉嫩| 色婷婷中文字幕基地| 热香蕉和冷香蕉功效一样吗| 一区二区三区四区中文字幕| 亚洲熟妇av日韩熟妇在线| 国产91熟女免费视频| 综合激情伊人久久| 精品一区二区三区四区人妻69| 五月天色婷婷av在线| 欧美日韩久久久久久精品| 亚洲久久亚女同性| 日本精品久久久久中人妻| 天天干天天插天天操天天日| 又粗又猛又爽黄老大爷视频| 午夜在线看1000集| 久久久96精品久久久| 日韩欧美 国产精品| 精品中文久久久久久| 欧美日韩少妇一二三| 国语黄色淫秽录像带| 亚洲熟妇av熟妇在线| 精品欧美日韩国产在线| 人妻中文字幕一二三区| 中文字幕一区二区三区中文字幕 | 999热这里只有精品在线| 亚洲熟妇av日韩熟妇在线| 国产精品男人的天堂999| 色综合精品一区二区三区| www.亚洲成人色| 国产a级片免费在线观看| 91久久国产综合久久91在线| 三级亚洲天堂亚洲天堂| 国产精品日韩欧美综合| 玖玖资源站中文字幕一区二区| 久久99久久com| 首页国产中文字幕av| 男人的天堂久久精平| 国产精品福利久久久久久久| 青青草久久大香蕉| 中文字幕版婷婷久久| 日韩精品综合视频在线| av日韩中文字幕人妻| 欧美三级中文字幕久久精品| 丰满熟女一区二区三区在线| 蜜桃精品一区二区三区在| 久久男人精品男人天堂免费视频| 五月婷婷激情四射综合网| 亚洲伊人网在线观看| 婷婷 少妇 av| 五月天丁香婷婷国产| 麻豆免费国产福利免费国产福利| 日韩尤物人妻av在线网| 中文字幕熟女人妻在线网页| 欧美日韩精品一区电影| 午夜寻花美女在线| 国产精品久久久久久久久久网站| 国产精品首页在线播放| 午夜影院av在线| 狠狠干中文字幕97视频| 少妇人妻给我内射视频| 亚洲乳大丰满中文字幕少妇av| 国产网址手机上可以看的国产网站| 91啪啪啪内射网站| 国产精品男人的天堂999| 蜜桃av 1区二区| 亚洲综合在线伊人| 99热这里只有的精品| 久久婷婷激情综合色综合俺也去| 超碰97在线观看国产| 99久久极品蜜桃臀精品久久| 老鸭子在线观看免费播放| 精品乱码久久久久久蜜臀| 成人精品1024欧美日韩| 欧美中文字幕视频网| 亚洲情欲大片在线观看| 日韩电影黄色免费| 黑人操日本女人电影| 国语黄色淫秽录像带| 亚洲综合精品久久| 日本av都有哪些系列| 久久亚麻亚洲蜜桃臀| 亚洲 欧美 制服 人妻| 日韩日韩av在线| 久久精品 中文字幕| 国产91色在线i免费| 黑人粗大精品一区二区| 另类蜜桃刺激视频在线观看| 亚洲男人五月天堂| 精品激情视频在线免费观看| 久久人搡人人玩人妻精品| 国产成人一区二区三区在线视频| 精品99国内中文字幕| 久久成人福利视频资源| 丰满少妇精品一区二区| 久久精品视频在线国国| 欧美一区二区三区成人免费看| 热久久免费频精品18| 国产亚洲精久久久久久无码色戒| 日日夜夜夜视频伊人久久| 精品97人妻无码中文永久| 亚洲欧洲国产一区二区| 熟女人妻之中文字幕| 国产高潮国产高潮久久久久久91| 麻豆免费国产福利免费国产福利| ass日本丰满熟妇pics| 亚洲国产精品久久久久婷婷av| 五月黄色激情视频| 久久亚麻亚洲蜜桃臀| 免费av网站在线浏览| 天天色天天日天天操| 日韩日韩av在线| 欧美不卡高清一区二区三区| 在线观看日韩美视频一区| 在线观看日韩美视频一区| 久久久久久精品国产成人| 久久最近最新中文字幕大全| 少妇高潮喷水久久久久久桃花| 久久久久久精品国产成人| 91人妻九色大屁股| 免费麻豆国产一区二区三区| 91久久婷婷国产麻豆精品| 日韩有码视频在线免费观看| 97久久视频免费在线播放| 日韩大全毛片免费观看视频| 久久国产精品——国产精品| 久久婷婷激情综合色综合俺也去| 久久综合久久综合久久色| 中文字幕亚洲资源天堂| 欧美激情 另类视频 亚洲| 久久久久中文字幕免费久久久久久| av日韩中文字幕人妻| 亚洲av网站女性向在线观看| 蜜桃视频在线观看一区精品| 大香蕉影视日本大香蕉97| 日韩在线啊啊啊的视频| 91丝袜放荡丝袜脚交| 日韩美女夜夜爽av| 91偷伦一区二区三区蜜臀| 中文字幕一区二区三区中文字幕| 国产成人av最新网址| 久久久久久一欧美国产| 国产成人一区二区三区在线视频| 少妇高潮喷水久久久久久桃花| 丝袜日韩中文字幕| 91porny国产九色| 国产精品久久精品一区二区三区| 国产精品久久久久一区二区| 亚洲 免费在线视频| 精品无人区一区二区三区竹菊| 欧洲美女黑人粗性暴交视| 亚洲国产aⅴ精品一区二区欧美| 婷婷免费精品视频在线| 精品一区二区三区四区日产| 日韩av电影com| 久久久国产一区二区视| 麻豆丝袜美女人妻中文| 欧美日韩精品一区电影| 成人黄色国产网站在线观看| 日韩av网址在线播放| av熟妇翔田千里俱乐部| 成人黄视频在线播放| 国产人妻另类综合专区| 搡老熟女一区二区三区四区视频| 91超碰熟女在线97| 俺去鲁婷婷六月色综合| 中文字幕理伦福利片| 视频一区视频二区三区| 中文字幕熟女人妻在线观看| 中文字幕久久91| 久久久久久久精品综合| 欧美中文字幕久久久| 日韩av手机在线电影| 2020中文字幕在线看电影| 麻豆精品123在线观看| 亚洲一区二区三区久久aa| 日韩美女主播人体视频自拍首页 | 成年人免费看黄色片| 热热久久这里只有精品| 亚洲欧美日韩综合专区| 91精品欧美久久久久视频| 亚洲天堂性色综合| 国产成人av吴梦梦视频| 人人狠狠久久综合网| 亚洲狠狠久久综合一区| 国产精品网址在线观看| 中文字幕一区二区三区六区9区| 人妻日韩精品在线观看视频| 亚洲女人老师毛茸茸| 精品国产久久久久蜜臀| 玖玖玖玖日在线视频| 免费av网站在线浏览| 午夜精品久久婷婷蜜桃| sepapa自拍偷拍| 精品一区二区国产在线观看| 中文字幕一区二区三区六区9区| 日韩有码在线免费观看视频| 中文字幕理伦福利片| 日韩美女夜夜爽av| 青青91免费视频| 丰满的人妻一区七区| 久久视频这里都是精品| www.亚洲成人色| 亚洲综合在线伊人| 人妻啪啪视频免费看| 精品人妻一区二区三区√| 麻豆视传媒官网直接进入免费观看 | 青青青手机版视频在线看| 日韩欧美在线视频第一页 | 国产精品久久久久久久网站门| 日韩亚洲丝袜系列| 麻豆免费国产福利免费国产福利| 亚洲情欲大片在线观看| 五月婷久久综合狠狠爱97| 久久久免费精品少妇| 国产一区二区久久久久久| 亚洲狠狠婷婷综合久久a| 性欧美另类sex极品free| 成人免费观看av毛片| 日韩厕所偷拍美女| 91麻豆免费国产在线| 免费a级电影在线观看| 亚洲一区二区三二区厕所偷拍| 亚洲av狠狠地操你| 欧美三级中文字幕久久精品| 亚洲日本精彩视频在线观看| 骚妻少妇一区二区| 亚洲阿v天堂久久| av日韩在线免费观看网站| 亚洲制服欧美丝袜| 亚洲.欧美.日韩.| 精品无人区一区二区三区竹菊| 国产麻豆一级美女精品| 人妻有码中文字幕中文| 玖玖玖玖日在线视频| 日韩欧美国产成人一区| 精品国产乱码久久久久久蜜坠欲下| 亚洲狠狠久久综合一区| 精品人妻二区中文字幕| 人妻人人揉人人澡人人| 清纯唯美激情五月| 四虎网站免费av| 亚洲精品,欧美日韩| 日韩精品在线播放第三页| 高清一区二区日韩视频精品| 国产精品综合手机在线| 午夜探花在线免费观看| 秋霞在线观看色哟哟视频| 在线观看日韩美视频一区| 欧美一区二区理论片在线观看| 国产欧美日韩不卡在线观看| 色图av亚洲综合| 91国产手机视频在线观看| 18在线观看久久久麻豆| 天天操天天干天天妻| 88在线观看91蜜桃国自产| 人妻熟女视频免费观看| 91嫩草17c欧美国产| 久久久成人在线免费视频| 日韩一级黄色大片免费观看| 久久久久女优免费视频| 亚洲av狠狠地操你| 久久久精品欧美一区二区国产| 中文字幕av最新在线| 欧美日韩成人精品视频| 久久久97精品国产| sepapa自拍偷拍| 色播网站在线播放| 久久久九九九九九精品6| 日韩人妻插舔激情午夜| 中文字幕亚洲资源天堂| 亚洲av不卡码在线看| 97国产人妻换人妻| 久久精品人妻中文字幕一区| 精品999久久久一免费ww| 色综合精品一区二区三区| 欧美激情 另类视频 亚洲| 91中文字幕制服诱惑| 亚洲视频另类专区| 久久精品国产久精果冻传媒| 蜜桃精品一区二区三区在| 高清中文字幕乱码在线| 人妻有码中文字幕中文| 在线免费av大香蕉| 人人妻人人澡人人爽国产一区 | 国产一区二区三区a级毛片| 天天干天天草天天日天天天射伊人| 1024 国产高清の最新合集| 99.com精品视频| 欧美日韩精品综合在线一区二区| 在线免费观看日韩精品视频| 青娱乐国产视频盛| 亚洲国产欧美激情图区| 亚洲日韩视频高清在线观看| 91超碰免费在线播放| 国产日韩欧美人妻在线观看| 久久久久久久精品综合| 天天操天天爽天天舔天天操一操| 人妻熟女视频免费观看| 久操免费福利在线视频观看视频 | 亚洲国产一成人久久精品| 中文字幕av久久爽爽| 国产欧美日韩精品专区黑人| 亚洲成人日韩丶av| 97色视频在线看视频| 人妻精品无码一区二区三区| 夜夜撸日日撸夜夜爽日日干| 人妻丰满精品一区二区三区| 久久一本麻豆天美欧美日韩| 激情五月天狠婷婷| 亚洲欧美日韩国产另类专区| 一级片一级片久久精品电影网电影| 蜜臀久久99精品久久久久久久久| 十八禁久久久久久久久久久久久久 | 欧美 国产 日韩 一区二区| 欧洲av偷拍亚洲av偷拍| 国产欧美日韩一区二区三区''| 在线免费av大香蕉| 日韩手机在线一区二区三区| 蜜臀av久久久久av蜜臀| 五月综合婷婷婷婷婷婷| 福利日韩精品中文字幕专区| 在线中文免费黄色| 久久99免费成人在线| 熟女激情一区二区三区| 欧美日韩成人三级在线| 熟女人妻之中文字幕| 50岁老熟女一区二区三区| 亚洲欧美在线制服丝袜| 久久99国产综合精品无码免费| 欧美不卡高清一区二区三区| 欧美熟妇人妻视频在线| 91大神精品大长腿在线观看| 日本中文国产字幕| 亚洲制服欧美丝袜| 蜜臀av久久久久av蜜臀| 国产成人免费精品视频大全 | 2019年中文字幕在线看| 色综合色综合色综合久久| 久久久97精品国产| 日韩精品在线播放第三页| 99九九99九九热视频| 久久久久久精品日韩| 婷婷基地中文字幕| 精品日韩偷拍欧美另类| 精品久久久久久18免费网站| 精品人妻一区二区三区人妻视频| 欧美日韩精品欧美日韩| 最新美女激情av| 中文在线字幕a在线| 日本a级2020在线观看| 国产精品久久久久成人片| 国内精品久久久久久久久久清纯| 亚洲国模私拍视频| 秋霞在线观看色哟哟视频| 日韩久久久三级电影| 99爱99久久久久久久久久| 18禁成年av网站免费看| 久久人人爽爽人人爽av| 91成人国产精品视频| 新版天堂av资源在线| 99日本亚洲精品视频| 天天摸天天舔天天爱| 思思久久国产精品视频| 亚洲欧美在线视频播放| 亚洲欧美日韩大陆| 久久男人精品男人天堂免费视频| 日韩av在线观看卡一卡| 青青91免费视频| 一级片一级片久久精品电影网电影 | 成年人晚上免费看的视频| 日韩一区二区三区水蜜桃| 免费av网站在线浏览| 五月婷久久综合狠狠爱97| 亚洲成人久久久久| 国产日韩av免费一区二区三区| 99久久999久久久精品综合| 欧美日韩精品成人在线| 日本高清不卡视频在线播放| 亚洲成人av久久久久| 色哟哟视频在线一区| 99国产在线拍91揄自揄视| 88av亚洲精品日韩一区二区| 国产人妻另类综合专区| 久久久九九九九九精品6| 精品国产一区二区三区制服| 五月婷婷六月丁香资源| 欧美一区二区性久久久| 欧美日韩国产色图视频| 久久伊人精品青青草原| 国产亚洲av免费一区二区| 91影视一区二区三区| 丰满少妇精品一区二区| 激情四射五月开心六月婷婷| 久久亚洲精品日韩高清| 日日夜夜夜视频伊人久久| 日韩午夜精品啪啪啪| 乱丰满的岳伦在线观看| 欧美最猛性亚洲精品推荐| 国产精品久久久久成人片| 蜜久久久91精品人妻| 性欧美另类sex极品free| 久久精品人妻中文字幕一区| 国产精品一区二区久久精品蜜臀| 国产一区二区三区a级毛片| 亚洲欧美一二三视频| 人妻熟女视频免费观看| 在线观看色有小视频| 亚洲国产精品久久久久婷婷av| 999精品插丰满少妇人妻| 青青青高清国产视频| 伊人久久中文字幕综合观看| 日韩精品在线播放第三页| 欧美肥臀精品一区二区三区| 蜜臀av一区二区三区人妻少妇| 欧美熟女人妻一区二区三区 | a级黄片在线免费观看| 日韩av电影免费在线播放| 精品97人妻无码中文永久| 日韩中文字幕在线网站| 国产精品首页在线播放| 国产精品日韩欧美综合| 国产精品一区二区三区三级| 国产一区二区三区a级毛片| 之久精品一区二区| 亚洲欧美av在线观看| 色哟哟免费在线播放| 成人黄片av在线播放| 久久综合久久综合久久色| 精品人妻熟女在线视频| 久久精品久久一区二区三区| 久久99精品久久久久久三级| 91老司机免费福利| 天天摸天天舔天天爱| 欧美va亚洲va精品| 国产精品久久久久久久久粉嫩av| 天天色综合天天射综合| 欧美日韩精品在线观看免费| 青青草青青操在线播放| 精品人妻一区二区三区线国色天香| 又粗又猛又爽黄老大爷视频| 丰满的人妻一区七区| 91在线精品国自产拍| 新版天堂av资源在线| 香蕉久久a v一区二区三区| 精品中文久久久久久| 精品久久一区电影亚洲| 欧美精品人妻丝袜一区| 久久综合久久综合久久色| 91偷伦一区二区三区蜜臀| 97国产免费电影网| 日韩av黄片在线观看| 日韩亚洲丝袜系列| 99精品高清视频一区二区| 日韩成人av在线电影观看| www.色av成人| 日本美女大学生一区二区三区| 福利精品视频免费观看| 久久精品国产久精果冻传媒| 中文字幕版婷婷久久| 久久成人福利视频资源| 日韩欧美xxxx大片| 97人人人欧美人人妻人人| 91沈先生探花极品在线| 欧美一级黄片视频看看| 人妻少妇精品久久人妻| 日本黄页在线播放日本网站| 久久久国产精品尤物av| 久久人人爽爽人人爽av| 91国产视频网站在线观看| 国产日韩av免费一区二区三区| 国产人妻另类综合专区| 久久97久久免费视频| 欧美老熟妇重口另类xxx| 大香蕉大香蕉大香蕉大香蕉大| 午夜影院av在线| 日韩一区二区三区乱码| 蜜桃久久久一区二区三区| 免费中文字幕在线播放| 国产精品网址在线观看| 日韩欧美颜色渔网| 精品乱码一区二区三四五六区| 嫩草一区二区三区四区中文 | 2019年中文字幕在线看| 亚洲欧洲偷拍自拍| 久久视频在线免费播放| 精品人妻一区二区三区人妻视频 | 美女免费一二三区视频| 999精品插丰满少妇人妻| 亚洲熟妇免费在线视频| 国产亚洲欧美日韩在线首页| 久久久久久少妇被弄高潮| 91国偷自产一区二区三区老熟女 | 亚洲青青青国产观看视频| 风间由美交换夫中文字幕| 青娱乐国产视频盛| www.成人国产精品| 亚洲男人天堂久久| 女人体内射精一区二区三区 | av岛国不卡在线观看| 亚洲av亚洲av亚洲| 欧美一区二区精品人妻免费视频| 午夜精品久久婷婷蜜桃| 人妻精品一区二区在线播放| 亚洲青青青国产观看视频| 视频在线观看黄页| 国产精品成人av麻豆| 综合激情伊人久久| 黄色片一级美女黄色片| 天天操天天爽天天舔天天操一操| 久久这里只有欧美精品| 玖玖资源站中文字幕一区二区| 日本熟妇人妻在线| 高潮久久久久久久av免费| 久久最近最新中文字幕大全| 久久久精品蜜桃在线| 2020日本中文字幕| 中文字幕的不卡人妻| 日韩成人免费电影三区| 午夜精品久久久久久久久二区三区| 亚洲五月婷婷激情图片| 欧美日韩少妇一二三| 少妇人妻给我内射视频| 天天摸天天舔天天爱| 青青草久久大香蕉| 欧美成人黄色一区二区三区| 国产av一区二区三区天美| 欧美一二三区在线观看| 亚洲 欧美 自拍 中文| 欧美日韩亚洲大片在线| 日韩视频在线播放一区二区| 久久人妻久久人妻一区| 天天射天天舔天天射| 在线中文字幕第二页| 国产精品一二三四在线| 一级久久久久久久18| 日本东京热天天日天天干| 2020日韩中文字幕| 婷婷激情五月天图片| 亚洲.欧美.日韩.| 美国av 在线播放| 精品日韩偷拍欧美另类| 色图av亚洲综合| 亚洲国产精品久久久久婷婷av| 四十路av熟女俱乐部| 日韩一级黄色大片免费观看| 久久久96精品久久久| 亚洲综合成人久久av| 久久精品国产亚洲av不卡性色| 久久久久国产麻豆婷婷| 免费麻豆国产一区二区三区| 日韩av一区二区三区久久久 | 新版天堂av资源在线| 精品国产麻豆免费成人网| 99爱99久久久久久久久久| 欧美日韩久久久久久精品| 天天日天天干天天色| 综合激情五月天久久| 日韩在线中文字幕不卡| 免费色婷婷在线视频| 自拍偷拍亚洲欧美另类| 亚洲国产精品综合久久2007| 色综合久久久久久久久| 午夜精品福利小视频| w疯狂的少妇2做爰韩国| 欧美日韩综合国产精品| 蜜桃黄色av网站免费播放| 欧美日韩亚洲大片在线| 人人妻人人爱碰千| 性欧美另类sex极品free| laoyawo老鸭窝在线视频| 99re在线精品国产欧美久久| 欧美人妻系列,中文字幕| 国产网址手机上可以看的国产网站| 乱女乱妇熟女熟妇综合站| 日韩美女在线视频一区| 国产91色在线i免费| 久久久精品国产亚洲av网深田| 黑人粗大精品一区二区| 日韩av在线观看卡一卡| 婷婷丁香花五月天| 人妻啪啪视频免费看| av岛国不卡在线观看| 91九色porny国产视频| 日韩日韩av在线| 91插插插操美女视频| 清纯唯美激情亚洲综合另类| 制服巨乳人妻在线| 欧美日韩v中文在线| 91精品国产综合久久久久久粉嫩| 日韩美女影院免费在线观看| 精品一区二区三区四区日产| 乱女乱妇熟女熟妇综合站| 日韩在线播放视频1区| 久久精品香蕉绿巨人| 日韩美女在线视频一区| 国产欧美一区二区二区精品| 中文字幕精品久久久人妻| 日韩电影黄色免费| 亚洲天堂av电影免费在线| 最新精品成人在线| 欧美日本一道本一区二区| 国语黄色淫秽录像带| 精品一级国产 av| 久久五月天天婷婷激情综合| 91综合精品国产丝袜长腿| 久久精品国产久精果冻传媒| 一本久久久久久久18| 日韩成人av影视在线观看| 热香蕉和冷香蕉功效一样吗| 成人午夜激情福利片| 久久久国产一区二区视| 色哟哟视频在线一区| 国产自拍 偷拍 在线| 97人妻中文字幕精品视频| 中文字幕熟女人妻乳一区二区| 精品久久久久久亚洲国产999| av岛国不卡在线观看| 麻豆成人在线免费观看视频| 在线观看日韩中文| 亚洲不卡一区av| 亚洲伊人网在线观看| 91嫩草17c欧美国产| 初撮日本五十路人妻| 色亚洲天堂色派对欧美色| 久久最近最新中文字幕大全| 日韩美女夜夜爽av| 一区二区 熟女人妻| 色哟哟免费在线播放| 99热2这里只有精品| 免费中文字幕在线播放| 久久久免费精品少妇| 欧美区 日韩区 国产区| 欧美亚洲av日韩综合一区| av日韩在线免费观看网站| 亚洲男人天堂久久| 91麻豆免费国产在线| 亚洲精品久久第一页| 麻豆中文字幕av在线| 欧美日韩综合国产精品| 日韩av午夜精品| 日本a级2020在线观看| 精品久久久久久亚洲国产999| 日本黄色成年视频| 乱丰满的岳伦在线观看| 在线观看日韩美视频一区| 久操免费福利在线视频观看视频| 无码人妻精品一区二区三区久久| 九九久久国产精品久久久久| 亚洲欧美自拍偷拍在线观看| 国产成人精品久久久久久蜜臀 | 久久综合中文字幕一区二区三区| 日本黄色成年视频| 国产黄色主播网址大全在线播放| 免费看久久久久久久性大片| 亚洲欧洲黄色图区| 99.com精品视频| 久久蜜桃视频亚洲精品| 亚洲乱精品中文字字幕| 日韩中文字幕一区二区三区四区| 日韩欧美激情入口| 久久视频这里都是精品| 999热这里只有精品在线| 五月婷婷激情四射综合网| 91久久亚洲成人精品| 亚洲人妻中文字幕av首页| av在线免费观看网站大全| 日韩精品久久久久久久软件| 欧美 国产 日韩 一区二区| 91影视一区二区三区| 人妻丰满精品一区二区三区| 国产乱人妻精品久久久| 精品蜜臀久久久久抄底| 精品乱码一区二区三区四区| 亚洲欧美丝袜精品久久直播| 日韩厕所偷拍美女| 午夜精品福利小视频| 亚洲 欧美 自拍 中文| 日韩尤物人妻av在线网| 蜜桃av 1区二区| 国产成人av吴梦梦视频| 久操免费福利在线视频观看视频| 最新美女激情av| 色噜噜狠狠躁夜夜躁| 亚洲 免费在线视频| 婷婷丁香花五月天| 亚洲欧美丝袜精品久久直播| 久久99永久免费看| 亚洲阿v天堂久久| 国产一区二区三区四区中文字幕| 久久久97精品国产| 97精品国产自在在线观看蜜臀 | 五月婷婷久久久久久久久| 人人妻人人澡人人爽dv| 午夜影院av在线| 明天我们好好过高清免费| 欧美一区二区三区成人免费看| 欧美日韩在线卡一卡二卡三| 亚洲制服高清中文字幕| 97人妻人人揉人人澡人人爽国产| 中文字幕日韩久久精品tv| 久久免费视频观看99| 天天日天天干天天色| 成人精品1024欧美日韩| 国产自拍 偷拍 在线| 国产一区二区视频大全床| 日韩中文字幕一区二区三区四区| 亚洲日本韩国欧美一起| 亚洲精品久久久久久久久蜜桃| 国产日韩欧美人妻在线观看| 亚洲欧美日韩一区二区三区不卡| 日韩欧美国产成人一区| 欧美一区二区三区综合色| 欧美人妻系列,中文字幕| 精品无码久久久久久毛片| 99精品视频在线看17| 少妇人妻成人在线| 97精品国产自在在线观看蜜臀| 蜜桃精品一区二区三区在| 亚洲男人五月天堂| 日韩在线播放视频1区| 黑人操日本女人电影| 日韩av在线天堂| 久久视频黄色观看网站| 日本av男优巧克力| 日本av熟女人妻| 最新美女激情av| 日韩中文字幕一区二区三区四区| 在线免费观看日韩精品视频| sepapa自拍偷拍| 欧美激情欧美情色成人在线| 久久久精品欧美一区二区国产| 欧美一区二区理论片在线观看 | 一本久久久久久久18| 综合 另类 自拍| 少妇惨叫久久久久久久| 99久久老熟妇仑乱一区| 99热2这里只有精品| 久久成人福利视频资源| 欧美激情 另类视频 亚洲| wwxxx中文字幕| 中文字幕一线一区和二区| 久久久免费精品少妇| 成年人在线免费观看黄色片| 日本aaaa视频在线观看| 亚洲精品熟女中文字幕| ass日本丰满熟妇pics| 亚洲欧洲av在线| 亚洲成人日韩丶av| 免费观看a级在线视频| 中文字幕理伦福利片| 99热2这里只有精品| 91久久精品日日躁夜夜躁| 91大神精品大长腿在线观看| 少妇人妻成人在线| 99日本亚洲精品视频| 亚洲不卡一区av| 熟妇人妻 一区二区三区中文字幕| 中文字幕在线有码二区| 91九色porny国产视频| 日韩一区二区三区乱码| av激情网站在线观看| 中文字幕 日本伊人| 欧美老熟妇重口另类xxx| 蜜臀av 麻豆av| 日韩av 自拍偷拍| 日韩在线免费视频精品|