ACE 的头文件包含

在使用 ACE 的过程中,发现项目组程序都是在使用到那个头文件的时候就引入一个头文件,结果一些头文件重复引用(在不同的文件中进行了重复引用),现在对 ACE 的头文件进行分类整理如下:

  1. 将所有的头文件按照功能的不同依次包含
  2. 消除互相包含中的基本头文件

整理后,任何工程只需要包含该头文件即可, 如果是在支持预编译的编译器上进行编译,还可以将该头文件直接包含在预编译头文件中,整理后的ACE头文件如下:

//==================================================================================================
//    Summary:
//        ACE ( Adaptive Communication Environment ) Headers
//    
//    Comment:
//        <1>    This header is include by Stable_Headers.h
//        <2>    The headers which repeat include is removed
//
//    Referer:
//        <1>    ACE_Wrappers/docs/ACE-categories.html
//        <2>    ACE_Wrappers/docs/ACE-subsets.html
//
//    ---------------------------------------------------------------------------------------------
//    Copyright: Shine Energy Technology            Author: WonKerr                Date: 2009-08-04
//==================================================================================================

#ifndef __ADAPTIVE_COMMUNICATION_ENVIRONMENT_HEADERS__
#define __ADAPTIVE_COMMUNICATION_ENVIRONMENT_HEADERS__

//==================================================================================================
//    Discard wraning of security on windows platform
#if    defined( _MSC_VER ) && defined( _WIN32 )
#    define _CRT_NON_CONFORMING_SWPRINTFS
#    define _CRT_NONSTDC_NO_DEPRECATE
#    define _CRT_NONSTDC_NO_WARNINGS
#    define _CRT_SECURE_NO_DEPRECATE
#    define _CRT_SECURE_NO_WARNINGS
#endif

//==================================================================================================
//    ACE OS API Wrapper ( OS API Adapter )
#include <ace/ACE.h>
#include 
<ace/OS.h>

//==================================================================================================
//    ACE Codecs ( Only BASE64 )
#include <ace/Codecs.h>

//==================================================================================================
//    ACE CDR ( Common Data Stream Input / Output )
#include <ace/CDR_Stream.h>

//==================================================================================================
//    Containers
#include <ace/Array.h>
#include 
<ace/Containers.h>
#include 
<ace/Hash_Map_Manager.h>
#include 
<ace/Filecache.h>
#include 
<ace/Free_List.h>
#include 
<ace/Managed_Object.h>
#include 
<ace/Map_Manager.h>
#include 
<ace/Object_Manager.h>
#include 
<ace/SString.h>

//==================================================================================================
//    Concurrency
#include <ace/Activation_Queue.h>
#include 
<ace/Future.h>
#include 
<ace/Method_Request.h>
#include 
<ace/Process.h>
#include 
<ace/Process_Manager.h>
#include 
<ace/Sched_Params.h>
#include 
<ace/Synch.h>
#include 
<ace/Synch_Options.h>
#include 
<ace/Synch_T.h>
#include 
<ace/Thread.h>
#include 
<ace/Thread_Manager.h>
#include 
<ace/Token.h>

//==================================================================================================
//    Configuration
#include <ace/Configuration_Import_Export.h>

//==================================================================================================
//    Connection
#include <ace/Acceptor.h>
#include 
<ace/Asynch_Acceptor.h>
#include 
<ace/Asynch_IO.h>
#include 
<ace/Connector.h>
#include 
<ace/Dynamic_Service.h>
#include 
<ace/Strategies.h>
#include 
<ace/Strategies_T.h>
#include 
<ace/Svc_Handler.h>

//==================================================================================================
//    IO_SAP ( DEV_SAP / FILE_SAP ) 
#include <ace/DEV_Connector.h>
#include 
<ace/FILE_Connector.h>
#include 
<ace/TTY_IO.h>

//==================================================================================================
//    IPC_SAP ( Addr / FIFO_SAP / SOCK_SAP / SPIPE_SAP / UPIPE_SAP / Misc ) ( TLI & LSOCK Removed )
#include <ace/FIFO_Recv_Msg.h>
#include 
<ace/FIFO_Send_Msg.h>

#include 
<ace/SOCK_CODgram.h>
#include 
<ace/SOCK_Dgram_Bcast.h>
#include 
<ace/SOCK_Dgram_Mcast.h>

#include 
<ace/SPIPE_Acceptor.h>
#include 
<ace/SPIPE_Connector.h>

#include 
<ace/UPIPE_Acceptor.h>
#include 
<ace/UPIPE_Connector.h>

#include 
<ace/MEM_Acceptor.h>
#include 
<ace/MEM_Connector.h>

#include 
<ace/IOStream.h>
#include 
<ace/Pipe.h>
#include 
<ace/Signal.h>

//==================================================================================================
//    Logging & Tracing
#include <ace/Dump.h>
#include 
<ace/Dump_T.h>
#include 
<ace/Log_Msg.h>
#include 
<ace/Log_Priority.h>
#include 
<ace/Log_Record.h>
#include 
<ace/Trace.h>

//==================================================================================================
//    Memory ( Mem_Map / Shared_Malloc / Shared_Memory )
#include <ace/Malloc_T.h>
#include 
<ace/Memory_Pool.h>
#include 
<ace/Shared_Memory_MM.h>
#include 
<ace/Shared_Memory_SV.h>

//==================================================================================================
//    Utils
#include <ace/Obstack.h>
#include 
<ace/Read_Buffer.h>

//==================================================================================================
//    Misc
#include <ace/ARGV.h>
#include 
<ace/Auto_Ptr.h>
#include 
<ace/Date_Time.h>
#include 
<ace/Dynamic.h>
#include 
<ace/Get_Opt.h>
#include 
<ace/Registry.h>
#include 
<ace/Singleton.h>
#include 
<ace/System_Time.h>

//==================================================================================================
//    Name_Service
#include <ace/Local_Name_Space.h>
#include 
<ace/Local_Name_Space_T.h>
#include 
<ace/Name_Proxy.h>
#include 
<ace/Name_Request_Reply.h>
#include 
<ace/Name_Space.h>
#include 
<ace/Naming_Context.h>
#include 
<ace/Registry_Name_Space.h>
#include 
<ace/Remote_Name_Space.h>

//==================================================================================================
//    Reactor & Proactor
#include <ace/Event_Handler_T.h>
#include 
<ace/Handle_Set.h>
#include 
<ace/Priority_Reactor.h>
#include 
<ace/Proactor.h>
#include 
<ace/Reactor.h>
#include 
<ace/TP_Reactor.h>

//==================================================================================================
//    Service_Configurator
#include <ace/DLL.h>
#include 
<ace/Parse_Node.h>
#include 
<ace/Service_Config.h>
#include 
<ace/Service_Manager.h>
#include 
<ace/Service_Object.h>
#include 
<ace/Service_Repository.h>
#include 
<ace/Service_Types.h>
#include 
<ace/Shared_Object.h>
#include 
<ace/Svc_Conf.h>
#include 
<ace/Svc_Conf_Tokens.h>

//==================================================================================================
//    Streams
#include <ace/IO_Cntl_Msg.h>
#include 
<ace/Message_Queue_T.h>
#include 
<ace/Module.h>
#include 
<ace/Stream.h>
#include 
<ace/Stream_Modules.h>
#include 
<ace/Task_T.h>

//==================================================================================================
//    Timers
#include <ace/Profile_Timer.h>
#include 
<ace/Time_Value.h>
#include 
<ace/Timer_Hash.h>
#include 
<ace/Timer_Heap.h>
#include 
<ace/Timer_List.h>
#include 
<ace/Timer_Queue.h>
#include 
<ace/Timer_Queue_Adapters.h>
#include 
<ace/Timer_Wheel.h>

//==================================================================================================
//    Token_Service
#include <ace/Remote_Tokens.h>
#include 
<ace/Token_Collection.h>
#include 
<ace/Token_Manager.h>
#include 
<ace/Token_Request_Reply.h>
#include 
<ace/Token_Invariants.h>

//==================================================================================================
//    standalones
#include <ace/Dirent.h>

//==================================================================================================
#endif /* __ADAPTIVE_COMMUNICATION_ENVIRONMENT_HEADERS__ */
如果有一个工程需要使用 ACE ,那么可以为该工程创建一个头文件 Stable_Headers.h 在该文件中首先引用该头文件,该工程内的所有源程序文件都包含 Stable_Headers.h , 如果在支持预编译的编译器上创建工程(例如 VC 系列编译器)那么可以在创建预编译的文件里面包含该该头文件,并将该头文件设置为预编译头文件即可;当然如果你也可以使用默认的 StdAfx.h 和 StdAfx.cpp 这两个名称;
posted @ 2009-10-05 12:13  王志科  阅读(2700)  评论(0编辑  收藏  举报