C++ wrapper for posix and linux specific functions [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this questionDo you know about any good library wrapping posix and linux functions and structures ( eg. sockets or file descriptors ) into C++ classes? For example I'm thinking about a base FileDescriptor class and some inheriting classes ( unix sockets etc ) with methods like write, read or even some syscalls ( sendfile, splice )开发者_StackOverflow社区 - all throwing exceptions instead of setting errno. Or some shared memory class etc.
I can't seem to find anything like that and by now I consider writing it myself, as I often have to write a C++ app for linux and either use C functions ( painful error checking ), or wrap them myself every time.
---EDIT---
Well neither QT nor Boost will compile on the system, we're using - it's a small linux kernel based on 2.4.29 installed on embedded computers.
Well, not exactly a wrapper, but Boost has a library for everything, and supports all major platforms.
Boost has a number of portable interfaces for some of the things you need e.g. Boost.Interprocess or Boost.Asio.
Try Common C++. I haven't used it myself, but it supports the things you've mentioned.
posixcpp. It is at early stage now. It isn't crossplatform, but GCC and Linux oriented. Licensed under LGPL 3.
Qt tackles many of the problems which normally are platform dependent. GUI wise, but console stuff is covered too. e.g.:
- http://qt.nokia.com/doc/4.6/qtnetwork.html
- http://qt.nokia.com/doc/4.6/qtcore.html
- http://qt.nokia.com/doc/4.6/qfile.html
There's Qt - which is much more than a GUI library. Nokia call it "application and UI framework". The "application" part refers to Qt's wrapping of interfaces for files, sockets, threads, and much more.
Qt is C++, and IMHO one of the best designed C++ code bases out there, so it's definitely worth a try.
精彩评论