当前位置: 首页 > news >正文

公司注册网站有什么好处wordpress 局域网 慢

公司注册网站有什么好处,wordpress 局域网 慢,天津大型网站建设风格,做国际网站花钱吗系列文章目录 lua调用C\C动态库函数 系列文章目录摘要环境使用步骤你需要有个lua环境引入库码代码lua代码 摘要 在现代软件开发中#xff0c;Lua作为一种轻量级脚本语言#xff0c;在游戏开发、嵌入式系统等领域广泛应用。Lua与C/C的高度集成使得开发者能够借助其灵活性和高…系列文章目录 lua调用C\C动态库函数 系列文章目录摘要环境使用步骤你需要有个lua环境引入库码代码lua代码 摘要 在现代软件开发中Lua作为一种轻量级脚本语言在游戏开发、嵌入式系统等领域广泛应用。Lua与C/C的高度集成使得开发者能够借助其灵活性和高效性实现更强大的功能。本文将通过一些简单、直接的示例探讨Lua调用C/C函数的技术。Lua通过调用C/C实现的extern C函数来交互首先我们需要在C/C中编写适当的包装函数并使用Lua API将其注册到Lua虚拟机中这一过程包括参数的传递、函数调用以及返回值的处理。通过合理设计的接口生成动态库文件使其在lua脚本中用require引用我们能够在Lua中直接调用C/C函数实现跨语言的功能扩展。这为项目提供了更大的灵活性允许开发者在Lua中编写高层逻辑同时利用C/C的性能优势处理底层任务。从实践角度看Lua调用C/C的技术架构在提高代码可维护性和性能的同时也为项目带来了更强大的扩展性。通过深入学习Lua与C/C交互的原理和最佳实践开发者可以更好地应用这一技术提升项目的开发效率和整体性能。 还有一种提供C API给lua用的方法把lua的源码clone一份自己改定义一个library导出然后编译成可执行文件或者库那么lua依然可以通过require引入和使用。 提示以下是本篇文章正文内容下面案例可供参考 环境 软件版本Windows10visual studio2022lua5.1C17 使用步骤 你需要有个lua环境 在lua官网下载编译好的动态库、静态库、头文件和可执行二进制文件。 https://luabinaries.sourceforge.net/ 拿到lua.hpp头文件和lua5.1.lib静态库加到自己项目的引用。 引入库 lua.hpp头文件去安装目录找。 码代码 头文件 代码如下示例 #pragma once /* 几个简单的函数 */// step 1 #include lua.hpp// step 2 定义自己的函数 int addTwoNumber(int a, int b) {return a b; }const char* linkNameAndNumber(const char* name, int age) {std::unique_ptrchar pbuf(new char[128]);sprintf(pbuf.get(), Your name is %s, and %d years old., name, age);std::string r(pbuf.get());std::coutC source output r std::endl;auto rbuf new char[128];memcpy(rbuf, pbuf.get(), sizeof(pbuf.get()));std::cout rbuf buffer content std::endl;return rbuf; }const wchar_t* wLinkNameAndNumber(const wchar_t* name, int age) {std::unique_ptrwchar_t pbuf(new wchar_t[128]);wsprintf(pbuf.get(), LYour name is %s, and %d years old., name, age);std::wstring r(pbuf.get());std::wcout LC source output r std::endl;return r.c_str(); }/*** step 3 定义函数的wrapper* \brief origin function* \param L* \return*/ extern C int addTwoNumberWrapper(lua_State * L) {double a, b, sum 0;int pCount lua_gettop(L);for (int i 0; i pCount; i){if (i 1){a lua_tonumber(L, i);}else if (i 2){b lua_tonumber(L, i);}}sum addTwoNumber(a, b);lua_pushnumber(L, sum);return 1; }extern C int linkNameAndNumberWrapper(lua_State * L) {int pCount lua_gettop(L);const char* name lua_tostring(L, 1);int age lua_tointeger(L, 2);auto result linkNameAndNumber(name, age);lua_pushstring(L, result);return 1; } dllmain.cpp /*** step 4 定义函数的wrapper注册表* \brief function registry table*/ static luaL_Reg cMethods[] {{addTwoNumber, addTwoNumberWrapper},{linkNameAndNumber, linkNameAndNumberWrapper},{NULL, NULL} };/*step 5 创建lua_openlibrary函数 */ extern C __declspec(dllexport) int luaopen_MyMethodLib(lua_State * L) {std::cout 载入MyMethodLib库 std::endl;const char* libName MyMethodLib;luaL_register(L, libName, cMethods);return 1; }Windows平台生成的动态库可以使用visual studio命令行工具的dumpbin /exports 查看导出符号表检查函数导出情况。 生成的动态库放到lua安装目录下或者自己的lua脚本目录下。 lua代码 local myMethodLib require(MyMethodLib)local r1 myMethodLib.addTwoNumber(1,2) local r2 myMethodLib.linkNameAndNumber(Michael,67)print(r1, r2) 使用lua.exe运行脚本即可。
http://www.tj-hxxt.cn/news/230427.html

相关文章:

  • 淘宝客网站做好了该怎么做汇鑫网站建设方便
  • 网站开发阶段流程php做网站自动生成前台吗
  • 域名注册和网站设计服务珠海关键词优化收费
  • 蓝色风格企业网站如何做公众号
  • 免费企业网站建设介绍wordpress进阶
  • 先做网站 先备案网站建设高清图
  • 网站设计推广微网站特效
  • 商业网站开发教程东圃做网站的公司
  • 文献综述 php网站开发云服务器网站崩溃的原因
  • 如何申请我的网站做购物网站的素材
  • 求网站建设方法wordpress设置ssl网站打不开
  • 石家庄学做网站建设培训建设文明网 联盟网站的
  • 图书馆评估定级关于网站建设标准移动互联网技术体系架构示意图
  • 东营网站推广网站死链接提交
  • 好看的网站分享江苏seo策略
  • 公司网站的实例何使网站的页面结构更为合理建
  • 博客网站开发教程小型公司网络建设方案
  • 电子商务网站需求分析大学生学风建设专题网站
  • 网站logo的颜色与网页的颜色如何做网站推广广告
  • 玛多县网站建设公司做网站大概需要多少钱
  • 用Python做网站如何配置域名电子商务网站对比分析
  • 做网站能赚钱吗表情包做淘宝客网站需要注意什么
  • 网站建设优劣势分析无法与网站建立安全连接
  • 专业的佛山网站建设丹东电信网站备案
  • 哪些网站是做零售的网站备案的好处
  • 网站后台上传案例能同步到博客吗网络营销推广实例
  • 企业网站设计wordpress南昌地宝网招聘信息网最新招聘
  • 网站建设岗位将来有什么发展wordpress安装方式
  • 影视网站开发装修设计师一般多少钱
  • 网站后台代码中国人做英文网站