我使用rpcgen库创建了一个应用程序,我必须在服务器端使用hashmap。是否可以将STL库(或任何C ++代码)与rpcgen一起使用?我尝试用g ++编译文件,但它确实有用。或者我会更好地实现类似链接列表而不是散列图(我假设复杂性不是问题)同时坚持使用C?
这样的事情:我的输入文件是
struct intpair {
int a;
int b;
};
program ADD_PROG {
version ADD_VERS {
int ADD(intpair) = 1;
} = 1;
} = 0x23451111;
(来自http://www.cs.rutgers.edu/~pxk/rutgers/notes/rpc/index.html)。
我想在服务器端使用hashmap。我尝试在服务器端文件中执行类似的操作:
#include "add.h"
#include <map>
#include <string>
int *
add_1_svc(intpair *argp, struct svc_req *rqstp)
{
std::map<std::string, int> voteList;
static int result;
std::string s = "Aa";
voteList.insert(std::pair<std::string, int> ("ABC", 100));
printf("Add called\n");
return &result;
}
它有效。我确实必须重命名文件并使用g ++。
答案 0 :(得分:1)
看起来C ++ STL组件不会通过你正在实现的接口“泄漏”,所以它应该都很好而且好。需要注意的一件事是异常安全:您可能希望添加顶级try / catch块以将任何异常转换为适当的错误。