在C++中实现库动态初始化的一种方法

很多程序库都需要在使用前初始化,并在使用后释放。举个例子,假设我们准备基于WinSock封装一个C++Socket类库,不妨就把它叫做CppSocket吧,CppSocket库将包括acceptorconnectortransceiver三个类的实现(这里,我们使用了acceptor-connector模式)。一般情况下,我们需要在CppSocket中实现initialize()destroy()方法,分别用来处理CppSocket库的初始化和资源释放,在我们的例子中,这两个方法其实主要就是用来实现WinSock库的初始化和释放,显然,它们将分别调用到WinSockWSAStartup()WSACleanup()两个方法,例如:

void initialize()

{

    …

    WSAStartup(version, &data);

你可能感兴趣的:(c++,socket,exception,class,语言,file)