小编soz*_*oze的帖子

用C实现的干净,独立的VM以及100-200K以下的编译代码大小?

我正在寻找具有以下功能的VM:

  • 小编译代码占用空间(低于200K).
  • 没有外部依赖.
  • Unicode(或原始)字符串支持.
  • 清洁代码 /组织良好.
  • C(99)代码,非C++.
  • C /类似Java的语法.
  • 运算符/按位:AND/OR等
  • 线程支持.
  • 通用/可移植字节码.字节码应该在不同的机器上工作,即使它是在具有不同字节序的不同架构上编译的.
  • 准系统,没什么必要的.只有基本的语言支持.
  • Lexer /解析器和编译器与VM分离.我将VM嵌入程序中,然后独立编译字节码.

到目前为止,我已经回顾了Lua,Squirrel,Neko,Pawn,Io,AngelScript ......并且唯一一个有点接近规范的是Lua,但语法很糟糕,它没有按位支持,而且代码风格一般很糟糕.松鼠和IO都很庞大.Pawn是有问题的,它很小,但是字节码不是跨平台的,并且实现有一些严重的问题(ex字节码根本没有验证,甚至没有标题AFAIK).

我很乐意找到合适的选择.

谢谢!

更新: Javascript解释器是...解释器.这是基于字节码的VM的VM问题,因此编译器/字节码vm分离要求.JS被解释,很少被JIT编译.我不一定要JIT.此外,所有当前的ECMAScript解析器都很小.

c scripting-language vm-implementation

21
推荐指数
2
解决办法
7683
查看次数

ANSI C中的超便携,小型复杂配置文件库?

我在ANSI C中寻找一个非常便携,简约/小的XML /配置语言库,没有外部依赖(或很少),编译低于100K.我需要它用于中等复杂的配置文件,它必须支持Unicode.

更多要求:

  1. 可以使用/ embed /静态链接到专有代码.在信用到期时,将始终给予信用.
  2. 不一定是XML.
  3. 真的,干净的代码 /没有奇怪或不一致的字符串处理.
  4. UTF-8.

谢谢费拉斯.

c xml embedded configuration-files

6
推荐指数
1
解决办法
1617
查看次数

对于自定义字节码VM,使用LLVM/CLANG的程序大小是多少?

我正在评估自定义VM的不同可能性,而我从另一个问题中遗漏了LLVM.由于我还在研究嵌入式语言VM的评估,我现在无法自己测试/检查.我想知道有关LLVM/CLANG的以下信息:

  • 它在Windows上得到了很好的支持吗?还是Solaris?(跨平台对我来说是一个加分)
  • 如果我想用类似C语言编写自己的/自定义VM,我需要在项目中包含什么?(LLVM/CLANG部分或组件等)
  • 我会将编译器与VM分开,原因很明显(不是编写解释器).所需组件的大小是多少?我可以在程序中构建它们而不是动态链接到它们吗?
  • 我可以避免JIT吗?我想有一个字节码VM,它不一定转换为本机代码.当平台不支持JIT时(例如,具有限制性内存权限且不允许wx/rwx内存映射的系统),这将有所帮助.

我知道clamav防病毒实例使用LLVM/clang支持的字节码来支持动态/运行时签名.但是,我不知道是否存在实现此功能和/或教程或文档的现有工具,它们将指导您完成实现此类操作的过程.

谢谢!:)

compiler-construction bytecode llvm clang vm-implementation

5
推荐指数
1
解决办法
1227
查看次数

如何将Javascript字符串转换为八位字节/字符数组?

我想知道如何将普通的Javascript字符串转换为八位字节/字符数组.就像你使用经典的C unsigned char数组一样.我正在使用Struct/JSPack库,需要从字符串中的数据中提取/解压缩一些值.

谢谢!

javascript arrays string pack

2
推荐指数
1
解决办法
8868
查看次数