3 ms·
A few years ago, I dabbled with the idea of building a "shared clipboard" application across platforms and decided to use Redis - esply the pub/sub mechanism -
by hans0l074 9y ago
A few years ago, I dabbled with the idea of building a "shared clipboard" application across platforms and decided to use Redis - esply the pub/sub mechanism - for this. I ended up discovering and using hiredis[0] (which I can see now was co-authored by antirez as well). I'm curious to know if hiredis can be used from C++ 11 as well.
[0] https://github.com/redis/hiredis https://github.com/redis/hiredis
- arjo129 9y agoThere's nothing stopping you from using hiredis in c++
- pjmlp 9y agoAs arjo129 says, there is nothing preventing you from using hiredis, provided they don't make use of the few cases where C language features and C++ are no longer compatible, e.g. VLAs or structure initializers. However, given it is a C API you will get the usual C unsafe code, instead of C++'s improvements regarding type safety.
- jjnoakes 9y ago> provided they don't make use of the few cases where C language features and C++ are no longer compatible, e.g. VLAs or structure initializers Wouldn't one compile hiredis in C, their app in C++, and link the two together? In general compiling C code with a C++ compiler isn't the path of least resistance.
- pjmlp 9y agoDepends how C++ compatible are the headers, as they can't make use of C99 or C11 features that aren't part of ANSI C++17.
- jjnoakes 9y agoTrue, although most C libraries ought to use those features in the implementation files and not the headers if they want to be used widely. And even if some things leak into the headers they might be accepted by compiler extensions. But yes, in general if a c library's headers are hostile to cross-language usage then using it from c++ won't be trivial.