现在我有一个客户端,它向我的服务器发送一个它想要数据的命令列表。我的服务器使用 getProcAddress 通过 DLL 加载这些命令,例如:
InitializeDLL initializeDLL = (InitializeDLL)GetProcAddress(hInstanceLibrary, "InitializeDLL");
其中 initializeDLL 定义为:
typedef int (CALLBACK* InitializeDLL)(int,int);
客户端现在将命令名称作为它想要数据的字符串发送。我有很多我希望能够使用的命令列表,但我不知道如何以有效的方式实现它。我正在考虑创建一个 Map 并将名称的字符串用作键,然后将 CALLBACK* 用于适当的函数作为指针。但后来我也必须在之后施放它。我主要是一名 Java 程序员,而不是最好的 C++ 程序员,所以我不确定这个 Map 想法是否会奏效,或者最后如何处理演员表。另外,我查看了 Wikipedia 上的命令模式,但不知道在这种情况下如何实现。