在使用 ACE 的過程中,發現項目組程序都是在使用到那個頭文件的時候就引入一個頭文件,結果一些頭文件重複引用(在不同的文件中進行了重複引用),現在對 ACE 的頭文件進行分類整理如下:
- 將所有的頭文件按照功能的不同依次包含
- 消除互相包含中的基本頭文件
整理後,任何工程只需要包含該頭文件即可, 如果是在支持預編譯的編譯器上進行編譯,還可以將該頭文件直接包含在預編譯頭文件中,整理後的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__ */