10000 GitHub - zacklukem/SLCL: "Simple Lightweight Cross-Platform Layer" provides a minimal, low level interface for creating cross platform programs in C/C++ that require OS-dependent features like sockets, memory mapping, signals and more.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ SLCL Public
forked from Phil0nator/SLCL

"Simple Lightweight Cross-Platform Layer" provides a minimal, low level interface for creating cross platform programs in C/C++ that require OS-dependent features like sockets, memory mapping, signals and more.

License

Notifications You must be signed in to change notification settings

zacklukem/SLCL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Lightweight Cross-Platform Layer

The Simple Lightweight Cross-Platform Layer library or 'SLCL' provides a minimal interface for os-dependent tasks in C/C++. The goal of SLCL is to make common, and simple tasks that are os-dependent a little easier in C/C++. For example, a basic AF_INET stream socket tcp setup already written for either *nix based machines or windows could be make cross platform using SLCL, largely by prepending the 'slcl' prefix to function calls, and ammending some details.

e.g:

Linux only C

#include <sys/socket.h>
int sock = socket(AF_INET, SOCK_STREAM, 0);

Cross platform SLCL

#include "SLCL/Network.h"
struct slclSock* sock = slclOpenSock( SLCL_AF_INET, SLCL_SOCK_STREAM, 0 );

Features

Currently, SLCL has abstractions for the following tasks

  • Sockets
  • Signals
  • Dynamic Libraries
  • Os-dependent error messages
  • Memory and file mapping

maybe coming soon

  • ioctl

Compiling

CmakeLists are included.

unix-based:

mkdir build && cd build
cmake ..
make

Linking

The CmakeLists are by default setup to produce a static library called libSLCL.a

About

"Simple Lightweight Cross-Platform Layer" provides a minimal, low level interface for creating cross platform programs in C/C++ that require OS-dependent features like sockets, memory mapping, signals and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.2%
  • CMake 1.8%
0