使用rpcgen和C ++

时间:2014-03-16 05:53:13

标签: c++ c unix

我使用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 ++。

1 个答案:

答案 0 :(得分:1)

看起来C ++ STL组件不会通过你正在实现的接口“泄漏”,所以它应该都很好而且好。需要注意的一件事是异常安全:您可能希望添加顶级try / catch块以将任何异常转换为适当的错误。