加水石灰

 

ACE中是如何实现模板类的定义和实现分离

今天看ACE的源代码是发现ACE模板类的定义实在XXX.h中,而实现实在XXX.cpp中,感觉很奇怪。仔细看了一下XXX.h文件,发现在模板类的头文件下方多了一行对对应.cpp包含的预处理命令。如:

00286 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00287 #include "ace/Asynch_Acceptor.cpp"
00288 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */。
自己建了一个小工程,模仿这种方式,也获得成功。

posted on 2010-10-27 09:56  加水石灰  阅读(704)  评论(0)    收藏  举报

导航