GPSEE简介

GPSEE是一个用于开发和运行CommonJS程序的通用平台,它提供了一个SpiderMonkey的CAPI,支持模块加载和与其他JS API项目的互操作。GPSEE包含ScriptRunner、核心组件和一系列模块,如FFI,用于在不同操作系统上实现POSIX功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

What is GPSEE?

  • a platform for developing and running CommonJS programs
  • a general-purpose C API for embedding SpiderMonkey + CommonJS
  • a general-purpose C API for adding interoperability between JSAPI projects
  • licensed under the exact same terms as SpiderMonkey (MPL 1.1, GPLv2, LGPL 2.1)
  • pronounced "gypsy"

GPSEE is written and maintained by PageMail, Inc. The primary developers are Wes Garland and Donny Viszneki, however, we are actively looking for contributions from the community! GPSEE is an offshoot of earlier, proprietary research and development at PageMail. That project's primary goal was to create an easy-to-embed JavaScript language interpreter which can be used as glue and configuration logic in large software systems, with interest in the ability to write batch jobs and serve web content.

GPSEE is delivered as one unit, but compromises three main facets:

  1. gsr, the GPSEE Script Runner, which executes CommonJS programs, including via shell-script "shebang" facilities. GPSEE also ships with some sample REPLs (shells), including a CommonJS-enabled version of Mozilla's JS Shell.
  2. GPSEE-core is a group of facilities which allow embedders to load modules, and to use SpiderMonkey's limited-use facilities (e.g. context private storage) without worrying about stepping on other modules' toes. GPSEE-core is designed to be call-compatible withSpiderMonkey, so that it may be turned on and off with a simple header file change.
  3. modules is a directory with "stock" modules, adding functionality to the JavaScript language such as ByteString, ByteArray, POSIX signals, CGI, and FFI (foreign-function interface). The FFI module allows painless wrapping of C functions and datatypes for use in creating new JavaScript modules.

POSIX

GPSEE's FFI module is specifically targeted at reflecting POSIX into JavaScript -- in a way which does not require runtime detection of the underlying architecture or other portability hacks. GPSEE targets the SUSv3 and SVID interface groups.

GPSEE FFI code which uses POSIX functions will run the same on every operating system and CPU, regardless of the underlying implementation. The JavaScript programmer does not need to worry about details like struct layout, pointer sizes, or even whether the interface is defined as a C function or a C pre-processor macro.

Support

GPSEE is provided as-is, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, or fitness for any purpose. We do not guarantee that GPSEE does not infringe upon any patents or copyrights, although we try very hard to insure that it does not.

There is no support for GPSEE. However, you can often find the GPSEE developers on irc://irc.freenode.org/#gpsee, and we're friendly.

Hot Links

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值