Git Product home page Git Product logo

lj2win32's Introduction

lj2win32

LuaJIT ffi bindings to Win32

If you are writing LuaJIT code on the Windows platform, the binding code here will make that task easier. The code was originally borrowed from TINN. The difference is, TINN provides an entire runtime environment for you to run your code in, lj2win32 just provides raw low level bindings, without all the application level stuff. This makes it possible for you to write simple applications by just requiring the bits and pieces of this package as your needs dictate.

The ultimate goal is that you'd be able to use luarocks to install this thing. Without luarocks, you can simply copy the win32 directory and its contents into you luajit distribution directly and you're good to go.

In the TINN project, there are core low level win32 bindings, as well as lots of higher level Lua 'object' modules. That makes for an entire package of convenience. It makes it easy to throw together applications from simple Windows on the screen to complex high scale internet services. This is great, but if you don't like the object models, it's kind of a pain to tease apart. In lj2win32, you primarily get the bindings, with fewer object abstractions. But, there are plenty of abstractions and object models in the test and experimental areas.

The primary bindings found in the win32 directory cover the standard APIs as are found in gdi32, user32, opengl32, kernel32, and many more along the way.

Design Concepts

There are a few guiding design concepts that drive the creation of this body of work. Collectively, they define the set of expectations that any consumer of the library can rely on. They are meant to enhance the ability to use the routines in conjunction with other libraries and routines, as well as make for a faithful rendering of the underlying Win32 APIs.

  • Nothing should be placed in the global address space (with a couple of exceptions)
  • All integer constants that can be, should be accessible through ffi.C.*
  • Lowest level ffi binding should be true to native functions

lj2win32's People

Contributors

wiladams avatar

Stargazers

João Vitor Fernandes Canuto avatar vic avatar Deepak Seeni avatar Dario Cangialosi avatar  avatar  avatar  avatar 2XXE avatar Alexandre Filgueiras avatar  avatar Semyon avatar czc avatar Shaar avatar sundays avatar bbxiong1999 avatar  avatar  avatar Nicolas Abram avatar TraceRay avatar gnois avatar Bu2Nil avatar rys avatar Tennn avatar  avatar Björn Roberg avatar  avatar Ciro Mondueri avatar  avatar  avatar Louis Howe avatar L.Nikko avatar Krzysztof Kowalczyk avatar GSchenck avatar Elias Hogstvedt avatar

Watchers

 avatar James Cloos avatar  avatar Shaar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.