rockcanon 发表于 2009-5-18 20:56:13

请解惑

ace自带的教程中, 006 server.cpp中在int main(){...} 后面,有如下代码:

#if !defined(ACE_HAS_GNU_REPO)
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Acceptor <Client_Handler, ACE_SOCK_ACCEPTOR>;
template class ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Acceptor <Client_Handler, ACE_SOCK_ACCEPTOR>
#pragma instantiate ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
#endif /* ACE_HAS_GNU_REPO */

这些代码有什么用呢?

我把它们去掉了也能编译运行.(VC6)

winston 发表于 2009-5-18 21:41:39

辅助模板代码编译的。
页: [1]
查看完整版本: 请解惑