Git Product home page Git Product logo

spr's Introduction

Simplified Portable Runtime Library (SPR)

SPR is a library provides cross-platform C/C++ API for platform-specific functionality (such as work with files and threads).

SPR allows you to write programs that are portable to different platforms. In order to run a program on a different platform, it is enough to simply recompile the program using a compiler for a specific platform.

With SPR and no direct calls to OS system calls, fewer changes are required when porting to new platforms.

The functions of accessing the operating system are scattered among the program components and without using SPR, a large amount of source code would have to be modified during porting.

Porting the library itself is easy because all the platform-specific code is concentrated in one place. The migration process is about implementing all SPR functionality.

SPR is fully implemented in C and is compatible with the C99 standard.

The library covers next platform-independent functionality:

  • Memory allocation
  • Region-based memory management system
  • File I/O
  • Threads
  • Mutexes
  • Semaphores
  • Network sockets
  • Dynamic shared objects
  • Strings, lists and arrays
  • System error codes

Currently supported platforms

  • GNU/Linux
  • FreeBSD 12
  • macOS
  • Windows 7/8/10

Planned platforms

  • Solaris

The library is free and open-source software distributed under BSD 2-clause license.

spr's People

Contributors

alexktvsky avatar

Watchers

 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.