是否有任何合法的,维护过的C++库可以与Cassandra进行交互?这是一种消除歧义的问题.搜索此类软件总是会导致DataStax"cpp-driver"(一个奇怪且误导性的名称):
https://github.com/datastax/cpp-driver
但是有点奇怪的是,libcql在它之前,现在libcql页面指向cpp-driver,声明不再维护,即
https://github.com/mstump/libcql
但是cpp-driver代码似乎与libcql完全不同.事实上,cpp-driver中的示例代码似乎根本不是C++(更像是普通的C),并且没有代码内注释.它似乎是一个完全不同(并且不太成熟)的项目.然而,DataStax仍将其称为C++.此外,它似乎是唯一一个提供C和/或C++与Cassandra接口的维护项目.libcql发生了什么?为什么它被"翻过"到DataStax后会经历一些奇怪的转变?
我正在编译一个在 cygwin 上使用 pthreads 和 gcc(g++)的项目。就像我一直在 linux 上开发这个一样,我从来没有遇到任何问题。
但是现在,我无法编译使用某些 pthread 函数的代码,编译器抱怨这些函数没有声明。我意识到我的工具链 g++ (GCC) 5.4.0 附带的 pthread.h 保护了部分
#if __POSIX_VISIBLE >= 200112
Run Code Online (Sandbox Code Playgroud)
这些阻止了功能在 cygwin/windows 上可用。
我尝试搜索“__POSIX_VISIBLE”,但没有找到任何真正有用的信息。这实际上有什么作用,为什么?我认为只是 pthread 的某些部分无法在 Windows 上或在 cygwin 或其他任何地方工作。但是为什么在这种情况下只会阻塞一些pthread 呢?它甚至不会抱怨-pthread被使用。
我计划最终将所有 pthread 内容更改为 c++ 线程,但现在我只想编译它,以便我可以处理更直接的问题。如果我在 cygwin/windows 上这样做,有什么办法可以解决这个问题吗?