In order to use the same asio source code for multiple dynamic libraries, ASIO_DYN_LINK and ASIO_NO_TYPEID are defined, and a crash occurs after use. After analyzing the code, we found that ASIO_NO_TYPEID cannot avoid having multiple static instances in multiple dynamic libraries. The code is as follows
` template
static type_id_result_type type_id()
{
In order to use the same asio source code for multiple dynamic libraries, ASIO_DYN_LINK and ASIO_NO_TYPEID are defined, and a crash occurs after use. After analyzing the code, we found that ASIO_NO_TYPEID cannot avoid having multiple static instances in multiple dynamic libraries. The code is as follows ` template
static type_id_result_type type_id()
{
if !defined(ASIO_NO_TYPEID)
else // !defined(ASIO_NO_TYPEID)
endif // !defined(ASIO_NO_TYPEID)
}`