当前位置: 首页>>代码示例>>C++>>正文


C++ createmeta函数代码示例

本文整理汇总了C++中createmeta函数的典型用法代码示例。如果您正苦于以下问题:C++ createmeta函数的具体用法?C++ createmeta怎么用?C++ createmeta使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了createmeta函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: luaopen_zip

LUAZIP_API int luaopen_zip (lua_State *L) {
  createmeta(L);
  lua_pushvalue(L, -1);
  luaL_openlib(L, LUA_ZIPLIBNAME, ziplib, 1);
  set_info(L);
  return 1;
}
开发者ID:luigiScarso,项目名称:luatexjit,代码行数:7,代码来源:luazip.c

示例2: luaopen_zip

LUAZIP_API int luaopen_zip (lua_State *L) {
	lua_pop(L,createmeta(L));
	lua_newtable(L);
	luaL_setfuncs(L, ziplib, 0);
  set_info(L);
  return 1;
}
开发者ID:msva,项目名称:luazip,代码行数:7,代码来源:luazip.c

示例3: luaopen_sys

LUALIB_API int
luaopen_sys (lua_State *L)
{
    luaL_register(L, LUA_SYSLIBNAME, sys_lib);
    createmeta(L);

    luaopen_sys_mem(L);
    luaopen_sys_thread(L);

#ifdef _WIN32
#ifdef _WIN32_WCE
    is_WinNT = 1;
#else
    /* Is Win32 NT platform? */
    {
	OSVERSIONINFO osvi;

	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
	is_WinNT = (GetVersionEx(&osvi)
	 && osvi.dwPlatformId == VER_PLATFORM_WIN32_NT);
    }
#endif

    luaopen_sys_win32(L);
#else
    /* Ignore sigpipe or it will crash us */
    signal_set(SIGPIPE, SIG_IGN);
    /* To interrupt blocking syscalls */
    signal_set(SYS_SIGINTR, NULL);
#endif
    return 1;
}
开发者ID:richardhundt,项目名称:gaia,代码行数:32,代码来源:luasys.c

示例4: luaopen_io

LUALIB_API int luaopen_io (lua_State *L) {
    createmeta(L);
#if LUA_OPTIMIZE_MEMORY != 2
    /* create (private) environment (with fields IO_INPUT, IO_OUTPUT, __close) */
    newfenv(L, io_fclose);
    lua_replace(L, LUA_ENVIRONINDEX);
    /* open library */
    luaL_register(L, LUA_IOLIBNAME, iolib);
    newfenv(L, io_noclose);  /* close function for default files */
#else
    luaL_register_light(L, LUA_IOLIBNAME, iolib);
    lua_pushvalue(L, -1);
    lua_setmetatable(L, -2);
#endif
    /* create (and set) default files */
    createstdfile(L, stdin, IO_INPUT, "stdin");
    createstdfile(L, stdout, IO_OUTPUT, "stdout");
    createstdfile(L, stderr, IO_STDERR, "stderr");
#if LUA_OPTIMIZE_MEMORY != 2
    lua_pop(L, 1);  /* pop environment for default files */
    lua_getfield(L, -1, "popen");
    newfenv(L, io_pclose);  /* create environment for 'popen' */
    lua_setfenv(L, -2);  /* set fenv for 'popen' */
    lua_pop(L, 1);  /* pop 'popen' */
#endif
    return 1;
}
开发者ID:xiqingping,项目名称:embedded_template,代码行数:27,代码来源:liolib.c

示例5: luaopen_io

LUAMOD_API int luaopen_io (lua_State *L) {
#if !LUA_USE_ROTABLE
  luaL_newlib(L, iolib);  /* new module */
  createmeta(L);
  /* create (and set) default files */
  createstdfile(L, stdin, IO_INPUT, "stdin");
  createstdfile(L, stdout, IO_OUTPUT, "stdout");
  createstdfile(L, stderr, NULL, "stderr");
#else
  luaL_newlib(L, io_load_funcs);  /* new module */
  lua_pushvalue(L, -1);
  lua_setmetatable(L, -2); 

  luaL_newmetatable(L, LUA_FILEHANDLE);  /* create metatable for file handles */
  lua_pushvalue(L, -1);  /* push metatable */
  lua_setfield(L, -2, "__index");  /* metatable.__index = metatable */
  luaL_setfuncs(L, flib_load_funcs, 0);  /* add file methods to new metatable */
  lua_pop(L, 1);  /* pop new metatable */

  /* create (and set) default files */
  createstdfile(L, stdin, IO_INPUT, "stdin");
  createstdfile(L, stdout, IO_OUTPUT, "stdout");
  createstdfile(L, stderr, NULL, "stderr");
#endif

  return 1;
}
开发者ID:whitecatboard,项目名称:LuaOS,代码行数:27,代码来源:liolib.c

示例6: luaopen_polarssl

LUALIB_API int
luaopen_polarssl (lua_State *L)
{
  luaL_register(L, LUA_POLARSSLLIBNAME, polarssl_lib);
  createmeta(L);
  return 1;
}
开发者ID:tnodir,项目名称:luapolarssl,代码行数:7,代码来源:luapolarssl.c

示例7: luaopen_io

LUALIB_API int luaopen_io (lua_State *L) {
  createmeta(L);
  /* create (private) environment (with fields IO_INPUT, IO_OUTPUT, __close) */
  lua_createtable(L, 2, 1);
  lua_replace(L, LUA_ENVIRONINDEX);
  /* open library */
  luaL_register(L, LUA_IOLIBNAME, iolib);
  /* create (and set) default files */
  createstdfile(L, stdin, IO_INPUT, "stdin");
  createstdfile(L, stdout, IO_OUTPUT, "stdout");
  createstdfile(L, stderr, 0, "stderr");
#if USE_POPEN
  /* create environment for 'popen' */
  lua_getfield(L, -1, "popen");
  lua_createtable(L, 0, 1);
  lua_pushcfunction(L, io_pclose);
  lua_setfield(L, -2, "__close");
  lua_setfenv(L, -2);
  lua_pop(L, 1);  /* pop 'popen' */
#endif
  /* set default close function */
  lua_pushcfunction(L, io_fclose);
  lua_setfield(L, LUA_ENVIRONINDEX, "__close");
  return 1;
}
开发者ID:dirsors,项目名称:ps2sdk-ports,代码行数:25,代码来源:liolib.c

示例8: luaopen_lzlib

LUALIB_API int luaopen_lzlib (lua_State *L)
{
  createmeta(L);
  luaL_openlib(L, "lzlib", R, 0);
  lua_pushliteral(L,"version");           /** version */
  lua_pushliteral(L,"pre-alpha");
  lua_settable(L,-3);
  return 1;
}
开发者ID:BackupGGCode,项目名称:teebx,代码行数:9,代码来源:lzlib.c

示例9: luaopen_io

LUAMOD_API int luaopen_io(lua_State *L) {
	luaL_newlib(L, iolib);  /* new module */
	createmeta(L);
	/* create (and set) default files */
	createstdfile(L, stdin, IO_INPUT, "stdin");
	createstdfile(L, stdout, IO_OUTPUT, "stdout");
	createstdfile(L, stderr, NULL, "stderr");
	return 1;
}
开发者ID:Allowed,项目名称:Protheus,代码行数:9,代码来源:liolib.c

示例10: luaopen_sqlite3

int luaopen_sqlite3(lua_State* L) {

	luaL_newlib(L, sqlite3lib);

	lua_pushinteger(L, SQLITE_INTEGER);
	lua_setfield(L, -2, "INTEGER");
	lua_pushinteger(L, SQLITE_FLOAT);
	lua_setfield(L, -2, "FLOAT");
	lua_pushinteger(L, SQLITE_BLOB);
	lua_setfield(L, -2, "BLOB");
	lua_pushinteger(L, SQLITE_NULL);
	lua_setfield(L, -2, "NULL");
	lua_pushinteger(L, SQLITE3_TEXT);
	lua_setfield(L, -2, "TEXT");

	createmeta(L, MT_CONN, connlib);
	createmeta(L, MT_STMT, stmtlib);
	return 1;
}
开发者ID:h-a,项目名称:lsqlite3lib,代码行数:19,代码来源:lsqlite3lib.c

示例11: luaopen_io

LUALIB_API int luaopen_io (lua_State *L) {
  luaL_openlib(L, LUA_OSLIBNAME, syslib, 0);
  createmeta(L);
  lua_pushvalue(L, -1);
  luaL_openlib(L, LUA_IOLIBNAME, iolib, 1);
  /* put predefined file handles into `io' table */
  registerfile(L, stdin, "stdin", IO_INPUT);
  registerfile(L, stdout, "stdout", IO_OUTPUT);
  registerfile(L, stderr, "stderr", NULL);
  return 1;
}
开发者ID:jjiezheng,项目名称:pap_full,代码行数:11,代码来源:liolib.c

示例12: open_iolibext

int open_iolibext (lua_State *L) {
#ifdef LuajitTeX
  return luaopen_io(L);
#else
  luaL_newlib(L, iolib);  /* new module */
  createmeta(L);
  /* create (and set) default files */
  createstdfile(L, stdin, IO_INPUT, "stdin");
  createstdfile(L, stdout, IO_OUTPUT, "stdout");
  createstdfile(L, stderr, NULL, "stderr");
  return 1;
#endif
}
开发者ID:zauguin,项目名称:LuaTeX,代码行数:13,代码来源:liolibext.c

示例13: luaopen_luacurl

LUACURL_API int luaopen_luacurl (lua_State *L) 
{  
	curl_global_init(CURL_GLOBAL_ALL); /* In windows, this will init the winsock stuff */
	createmeta(L);
	luaL_openlib (L, 0, luacurl_meths, 0);
	luaL_openlib (L, LUACURL_LIBNAME, luacurl_funcs, 0);
	set_info(L);
	setcurlerrors(L);
	setcurloptions(L);
	setcurlvalues(L);
	setcurlinfo(L);
	return 1;
}
开发者ID:catyguan,项目名称:gamedev.platform,代码行数:13,代码来源:luacurl.c

示例14: lua_iolibopen

LUALIB_API int lua_iolibopen (lua_State *L) {
  createmeta(L);
  luaL_opennamedlib(L, LUA_OSLIBNAME, syslib, 0);
  lua_pushliteral(L, FILEHANDLE);  /* S: FH */
  lua_rawget(L, LUA_REGISTRYINDEX);  /* S: mt */
  lua_pushvalue(L, -1);  /* S: mt mt */
  luaL_opennamedlib(L, LUA_IOLIBNAME, iolib, 1);  /* S: mt */
  lua_pushliteral(L, LUA_IOLIBNAME);  /* S: `io' mt */
  lua_gettable(L, LUA_GLOBALSINDEX);  /* S: io mt */
  /* put predefined file handles into `io' table */
  registerfile(L, stdin, "stdin", IO_INPUT);
  registerfile(L, stdout, "stdout", IO_OUTPUT);
  registerfile(L, stderr, "stderr", NULL);
  lua_pop(L, 2);  /* S: empty */
  return 0;
}
开发者ID:gitrider,项目名称:wxsj2,代码行数:16,代码来源:luiolib.c

示例15: imlua_open_image

void imlua_open_image (lua_State *L)
{
  /* "im" table is at the top of the stack */
  createmeta(L);
  luaL_register(L, NULL, imimage_lib);

#ifdef IMLUA_USELOH
#include "im_image.loh"
#else
#ifdef IMLUA_USELH
#include "im_image.lh"
#else
  luaL_dofile(L, "im_image.lua");
#endif
#endif

}
开发者ID:LuaDist,项目名称:im,代码行数:17,代码来源:imlua_image.c


注:本文中的createmeta函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。