1

感谢这个网站上的某个人,我能够使用示例 C++ 源文件。 https://gist.github.com/1893378 当我编译这个时,我得到了一堆奇怪的编译器错误:

/home/.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp: In function ‘void redisTop(redisContext*)’:
/home/.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp:142:32: error: invalid conversion from ‘void*’ to ‘redisReply*’
/home/../workspace/redis-hiredis-3c46b13/pipelineTest.cpp:162:25: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
/home/=.../workspace/redis-hiredis-3c46b13/pipelineTest.cpp: In function ‘int main(int, char**)’: 

我意识到我可能与hiredis libray 不同步,但我使用的是最新的。任何想法如何正确构建这个 C++ 程序?

另外,我正在寻找使用 Redis 的完整 C++ 管道教程。这是Java中一个非常好的示例:

http://www.cafebabe.me/2011/05/redis-pipelines-and-transactions.html

没有像这样的 C++ 示例教程吗?
无论哪种方式都感谢

4

3 回答 3

2

实际上,它是一个 C 程序,而不是 C++。C++ 编译器通常比 C 编译器更迂腐,而且它会抱怨。使用 C++ 编译器进行编译需要稍作修改。

我做了,又把文件放到网上: https ://gist.github.com/1893378

它现在可以使用 g++ 3.4 和 4.3 正常编译

AFAIK,Redis 没有 C++ 教程。我认为在 C++ 中处理 Redis 的最佳方法是在hiredis 之上开发自己的包装类。这并不难。

于 2012-10-30T18:34:16.307 回答
1

只需将 redisCommand 转换为 redisReply

reply = (redisReply *)redisCommand(context, "PING");
于 2018-07-19T05:25:56.977 回答
-1

这是一个 C 程序。您必须使用 C 编译器构建它。

于 2012-10-30T18:16:32.690 回答