引言  C扩展也称C++, 是一个复(za)杂(ji)优(ken)秀(die)的语言. 本文通过开发中常用C++方式来了解和回顾C++这么语言. C++看了较多的书但还是觉得什么都不会. 只能说自己还付出太少,哎.在引言部分我们先感受C++类的设计. 有个如下需求, 设计一个简单的日志系统. 先看下面 LogSimple.hpp #ifndef _HPP_
首先需要确定系统中安装了gcc编译器,合适版本的bison等,下面是从源码编译安装PHP需要执行的基本命令:# cd php-src # ./buildconf # ./configure --enable-debug --enable-maintainer-zts --enable-cli # make # make install构建一个基本的扩展骨架在PHP扩展开发时,使用ext_skel完
Lua 是巴西研究小组开发的一个灵活小巧的脚本语言,整个编译后的静态库才400多K,便于嵌
原创 2022-12-15 14:13:51
120阅读
作者: ​​沐枫​​   LuaPlus是LuaC++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。 LuaPlus目前版本为:LuaPlus for Lua 5.01 Distribution Build 1080 (February 28, 2004)。大家可以
转载 2023-01-10 09:53:49
410阅读
虽说是将lua作为nginx扩展编译进nginx 但是运行lua程序还得靠lua本身,而因为种种知道的不知道的原因导致了lua自身有些不足 因此出现了升级版的luajit来替换luajit。在测试过程中无论是lua还是luajit都行,但既然大家都说luajit都说好,那我们也就用luajit了。另 ...
转载 2021-09-24 16:23:00
929阅读
2评论
作者:buxiu Lua是轻量级的脚本语言,可以很方便用来扩展C/C++应用程序,下面我们通过几个简单的例子来学习Lua如何扩展C/C++的。 首先,你需要安装Lua,如果你使用windows操作系统你可以下载别人编译好了的二进制程序即可使用,当然你也可以下载Lua源代码(http://www.lua.org/download.html)使用你喜欢的编译器编译成二进制文件来使用.如果你使
家中WiFi网络覆盖不全面,可以采用两个无线路由器进行扩展,一个作为主路由负责拨号上网,另一个作为副路由负责扩展网络,两个路由器可以使用有线连接的方式,也可以使用无线桥接的方式,下面我们分别来看有线和无线的设置方法。两台路由器有线连接扩展网络设置主路由器。按照光猫LAN口接主路由WAN口,主路由LAN口连接电脑网口的方式进行连接好,对主路由设置成正常上网即可。(记住主路由LAN口IP地址,这里按照
很早的时候,我有一件事纠结。如果,我在这里C++打开界面脚本。使用C++其中一个目标,和。我的
转载 2015-07-27 21:48:00
53阅读
2评论
 最近在研究luasocket,准备用全部用lua扩展库来实现一套轻量级框架,用来做一些工具、简单的游戏服务器,以及作为网络库用在cocos2dx中。完善的网络库必然会遇到粘包、半包的问题,luasocket也不例外,由于网络部分在lua,协议的制定和buff的解析都没有合适的方案,又不想在C++中来封装接口,后面在网上查了一些资料,发现lua也有一个二进制打包的扩展库——lpack,
扩展 lua require 的行为 来源 https://blog.codingnow.com/2015/10/lua_require_env.html 今天同事提了个需求,他希望可以给部分 lua 代码(由策划编写)做一个沙盒关起来。在 lua 里做沙盒很容易,只需要控制函数的环境就可以了。不过
转载 2017-10-31 13:16:00
535阅读
作为脚本语言,Python也有执行效率不高的缺点,不过可以用Python写框架,用C去实现具体的功能,一方面兼顾了运行效率,另一方面也提高了开发速度。闲话少说,下面介绍一下如何用C编写Python的扩展模块。    编写扩展分为两个部分,首先编写Python的接口代码,对C代码进行包装,其次对代码进行编写,生成可被Python调用的模块。    编写接口代码主要分为四步:    1. 包含Pyth
转载 2023-09-18 19:19:45
56阅读
使用Python可以快速的搭建软件原型和框架,但是在对性能要求比较严格的地方,就需要使用C/C++扩展来提高性能。或是在需要对底层的硬件进行操作的时候就必须使用C语言了。C/C++模块需要使用SWIG进行封装,然后编译成动态链接库的形式供Python导入调用SWIG SWIG使用起来很简单,前提条件是有一些C语言代码。为代码编写一个接口文件。这很像C语言头文件(在比较简单的情况下,可直接使用现有
转载 2023-05-31 12:35:04
116阅读
目录一、扩展库 - Open扩展库的配置二、扩展库 - 扩展库Lib的配置详解三、扩展库 - 基础库Base的配置详解上一章,我们讲解了如何将Require进来。本章节具体将一下扩展库启动的实现。一、扩展库 - Open扩展库的配置启动一个扩展库,首先需要进行两个基础配置:loadedlibs数组配置 & 库名称和回调函数的定义(lualib.h)loadedlibs是一个二维数组。第一个
近日,3本分别由清华大学、河南日报报业集团、武汉大学主办的新闻学与传播学类期刊入选了CSSCI扩展版来源期刊目录(2019-2020)。2019年3月25日,南京大学中国社会科学研究评价中心正式发布了CSSCI来源期刊目录(2019-2020)以及扩展版来源期刊目录(2019-2020),包括来源期刊568种,扩展版来源期刊214种。CSSCI全称为“中文社会科学引文索引”(Chinese Soc
上篇我们基于HT for Web呈现了A* Search Algorithm的3D寻路效果,这篇我们将采用HT for Web 3D来呈现Box2DJS物理引擎的碰撞效果,同上篇其实Box2DJS只是二维的平面碰撞物理引擎,但同样通过3D的呈现能让人更直观的体验到碰撞效果,最终例子效果:http://hightopo.com/demo/box2djs/ht-box2d-demo.htmlBox2D
转载 3月前
24阅读
LUA调用C(一)-----CAPI一:为什么要使用Lua调用C函数在lua中调用C函数可以提高程序的运行效率。所以luaC的相互调用在工程中相当实用,本文就来讲解luaC相互调用的方法。二:LuaC函数实现原理 LuaC相互调用的首要问题是如何交换数据,lua API使用了一个抽象的栈与C语言交换数据,提供了压入元素,查询元素和弹出元素等功能的API操作栈,这里可以查看lua5.2中每个
转载 6月前
108阅读
1.c调用lua的实现原理lua语言是c语言实现的,而且是非常轻量级的,非常适合内存受限的嵌入式产品c调用lua,需要在c程序中模拟出lua解释器环境,所以需要调用lua的函数,即生成c程序必定要链接lua库,lua解释器和C是通过一个虚拟栈来交换数据的栈的大小可以设置,通过查看lua的源码,可以知道这个栈的大小,在luaconf.h的LUAI_MAXSTACK,还可以通过lua_checksta
转载 3月前
122阅读
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作
Clua交互解释CLua的交互部分称为C API,C API是一个C代码和Lua代码进行交互的函数集,主要由以下部分组成:1、读取Lua全局变量的函数;2、调用Lua函数的函数;3、运行Lua代码片段的函数;4、注册C函数然后可以在Lua中被调用的函数;C语言和Lua之间的数据通信交换,是通过在CLua之间建立一个虚拟的栈,几乎所有的API调用都是对栈上的值进行操作,所有的数据交换也是通过这
转载 5月前
34阅读
一、Lua说明: Lua 是一个简洁、轻量、可扩展的脚本语言,也是号称性能最高的脚本语言,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译后,你会发现解释器居然不到200k,非常变态。很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。二、实验环境:  192.168.1.194服务器(c
原创 2017-05-07 20:12:47
6247阅读
  • 1
  • 2
  • 3
  • 4
  • 5