在C++代码中调用L脚本语言

L脚本语言同意被其他编程语言调用。如C++,非常easy。仅仅要在宿主语言中载入L脚本引擎的动态库

直接调用这两个函数就能够了

extern "C" int __stdcall ScriptEngineDoString(wchar_t * ScriptString);

extern "C" int __stdcall ScriptEngineDoScriptFile(wchar_t * ScriptFileName);

C语言调用L脚本引擎的样例:

#include <windows.h>

#include "../ScriptEngineDll/ScriptEngineDll.h"

int _tmain(int argc, _TCHAR* argv[])

{

HMODULE hDLL = LoadLibraryW(L"ScriptEngineDll.dll");

if(hDLL)

{

FUNC_ScriptEngineDoString ScriptEngineDoString =(FUNC_ScriptEngineDoString)GetProcAddress(hDLL,"ScriptEngineDoString");

if(ScriptEngineDoString)

{

ScriptEngineDoString(L"重新启动:计算机");

}

}

return 0;

}

时间: 2024-10-28 18:59:02

在C++代码中调用L脚本语言的相关文章

L脚本语言调用操作系统API

L脚本语言支持直接调用操作系统提供的C语言API函数,以保证供更大程度的灵活性 目前,仅支持函数调用约定为__stdcall 的C语言函数 C语言的变量和L脚本语言的对象不是一一对应的关系,因此调用C语言函数的时候不能直接将L脚本语言的对象作为参数传入,但是可以进行适当的转换 下面是一个调用windows系统kernel32.dll中OutputDebugStringW函数和 一个调用user32.dll 中MessageBoxW函数的例子 并将其封装为L脚本语言的全局函数 #scplib 定义

L脚本语言语法手册

0.02版 赵亮 简  介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,目前支持在中文.英文基础上的编程.并可扩展为任意语种.L脚本语言的语法结构简单,程序结构相对松散,易学易用. 目前L脚本语言仍处于开发初期,功能尚不完善.目前尚未提供源码编辑器,建议使用notepad++或者ultraedit进行源码编辑. 解释器引擎CSDN资源下载地址   http://download.csdn.net/detail/itmes/8656133 目录 一.         注释.. 2 二.

L脚本语言语法手册 0.10版

L脚本语言语法手册 0.10版 赵亮       简  介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,目前支持在中文.英文基础上的编程.并可扩展为任意语种.L脚本语言的语法结构简单,程序结构相对松散,易学易用. 目前L脚本语言仍处于开发初期,功能尚不完善.目前提供了一个简单的源码编辑器,建议使用notepad++或者ultraedit进行源码编辑. 目录 一.        介绍.. 2 二.        注释.. 3 三.        对象定义和引用.. 3 四.       

入门: 使用JNI 从C++代码中调用Java的静态方法

开发环境: 操作系统: (uname -a output)  Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux JDK 版本 : (java -version) java version "1.7.0_51"OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubun

L脚本语言的全局函数

L脚本语言的语法规则只有一条 动作:对象类型,对象名称,参数列表 L脚本语言所有的功能实现都基于这一条基本的语法规则 L脚本语言内置了61个基本的动作定义,这些基本的动作定义其实也可以理解为函数调用,只不过这些动作名称是语言内置的.全局的 那如果我们想要自己扩展L脚本语言的全局动作是否可行呢? 答案是可行的,L脚本语言提供了将用户定义函数注册为全局动作的接口 我们可以参考一个例子 L脚本语言的基本语法中,在控制台输出内容的语法为 显示:对象名称 显示:静态字符串 如果我们不想用"显示"

L脚本语言的表对象

L脚本语言目前没有实现数组,但是可以用表对象来模拟数组 L脚本语言中,表类似于动态数组 表的大小是动态可变的,表的内容可以是任何对象,不仅仅可以是整数,字符串这样的基本类型,也可以是用户定义的函数,当然也可以是表 L脚本语言内置了表遍历的功能,只需要传入一个回调函数,即可实现对表对象的遍历 回调函数有一个参数,当进行表对象的遍历时,将会逐个将表的元素传入这个参数 这样在对表中内容进行处理的时候,编写不同的回调函数,就可以实现不同的处理逻辑 我们可以在表中插入待处理的文件名,待访问的网址,待计算的

L脚本语言编写的简单数学函数库

对于一种编程语言数学计算的功能当然是必不可少的,通过L脚本语言的基本数学运算功能实现数学计算库也很简单 在L脚本语言中,使用库之前需要进行导入,这和C语言的include引用Java的导入jar包是类似的 下面的例子是一个L脚本语言的库文件 #scplib #数学函数库 定义:函数,求圆的周长,半径 开始:函数,求圆的周长 计算:算式,ret,2*3.14*半径 显示:ret 结束:函数,求圆的周长 定义:函数,求圆的面积,半径 开始:函数,求圆的面积 计算:算式,ret,3.14*(半径*半径

L脚本语言字符串处理

字符串处理是编程语言的基本功能特性之一,L脚本语言的字符串处理功能也不弱 下面这个脚本文件是一些字符串处理的例子 #scp 定义:字符串,string1,"123456abcdefg" 定义:字符串,string2,"abc" 定义:字符串,string3 定义:整数,length,0 定义:整数,pos,0 取大小:字符串,string2,length 查找:字符串,string1,string2,pos 显示:length 显示:pos 取子串:string3,

使用L脚本语言开发一个XML访问库

XML目前是应用最广泛的数据交换格式 那么我们就来使用L脚本语言开发一个XML访问库 下面这个脚本文件是一个简单的XML文件访问库,它能够生成简单的XML文件 #scplib 定义:类,XML文件 开始:类,XML文件 定义:字符串,XML文件头 定义:字符串,文件体 定义:字符串,开始标签,"<" 定义:字符串,行结束标签,"/>" 定义:字符串,结束标签,">" 定义:字符串,段落结束标签 定义:函数,插入文件头,文件头 开