ÄãÊÇÌìʹ£¬Ä㳯ÎÒÒªÊ²Ã´ÄØ£¿

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/index.php?blogid=13010&cat=2 存档链接: https://web.archive.org/web/20041011043047id_/http://www.blogbus.com:80/blogbus/blog/index.php?blogid=13010&cat=2


ÄãÊÇÌìʹ£¬Ä㳯ÎÒÒªÊ²Ã´ÄØ£¿ Ììʹ˵£º¡°ÎÒÒªÄã¸øÎҵģ¬ÊÇÄãµÄ¿ìÀÖ£¡¡± C/C++¡¢UNIX (9) ACEÁ¬ÔØ (5) ĞÄÇéÈÕ¼Ç (8) ¶ÁÊé±Ê¼Ç (1) perlѧϰ (0) : [1] 2004-05-08 22:26 ACE Service Configurator¿ò¼ÜºÍCÓïÑԵġ°·´É䡱 ACEµÄ·şÎñÅäÖÿò¼Ü£¬ÊÇÒ»¸ö·Ç³£Ç¿´óµÄ¿ò¼Ü£¬²ÉÓÃËü¿ÉÒÔʹӦÓøù¾İÏàÓ¦ÅäÖÃÎļş½øĞĞÓĞÑ¡ÔñµÄ·şÎñÆô¶¯£¬Ó¦ÓÿÉÒÔÖØĞÂÅäÖÃÆä·şÎñ£¬¶øÎŞĞèÖØĞ±àÒë»òÊÇÖØĞÂÆô¶¯Ó¦Óñ¾Éí¡£¶ÔÓÚµçĞÅÁìÓòÖеÄÓ¦Ó㬸ÿò¼Ü¹¦ÄÜȷʵÊǷdz£°ôµÄÓŵ㡣µ«ÊÇ£¬¶ÔÓÚ¾²Ì¬ÀàĞ͵ķşÎñ£¬Ò²¾ÍÊÇ˵ÏàÓ¦µÄº¯ÊıÊǾ²Ì¬µÄ±àÒëµ½Ó¦ÓÃÖеģ¬ACEÒ»°ãÔÚÖ÷³ÌĞòÖж¼ÒªÓÃACE_STATIC_SVC_REQUIREºÍACE_STATIC_SVC_REGISTERÀ´ÏòACE_Service_RepositoryµÇ¼Ç¾²Ì¬·şÎñ£¬Õâ¾ÍÔì³ÉÁËÖ÷³ÌĞòºÍ·şÎñÖ®¼ä»¹´æÔÚÒ»¶¨µÄñîºÏ¡£µ±È»£¬¶ÔÓÚ¾²Ì¬·şÎñÕâô×öûÓĞÈκÎÎÊÌâ¡£µ«ÊÇ£¬Õâ¶à¶àÉÙÉÙÈÃÎÒ¾õµÃ²»Ë¬£¬ÕâÀïÎÒÊÇÒ»¸ö¼«¶ËÖ÷ÒåÕß^^£¬ÎÒÏëÈÃÎÒµÄÖ÷³ÌĞòÍêÈ«ÊÇͨ¹ıÅäÖÃÎļşÀ´Æô¶¯¾²Ì¬·şÎñµÄ£¬ÔÚ´úÂëÉÏÖ÷³ÌĞòºÍ·şÎñÍêȫûÓĞñîºÏ£¡ ÔÚJAVAÀ¿ÉÒÔͨ¹ıÒ»¸öÀàµÄÃû×ÖÀ´»ñµÃ¸ÃÀà±¾Éí¡£ÎÒ²»Ì«ÊìϤJAVA^^£¬JAVAÖеķ´Éä´ó¸ÅÊÇÕâ¸öÒâ˼¡£ÎªÁËÂú×ãÉÏÃæµÄÒªÇó£¬Ö÷³ÌĞòÍêȫͨ¹ıÅäÖÃÎļşÀ´Æô¶¯¾²Ì¬·şÎñ£¬Ò²¾ÍÊÇ˵ÎÒÃÇÒª¸ù¾İº¯ÊıµÄÃû×ÖÀ´µÃµ½ÏàÓ¦µÄº¯Êı£¨¶ÔÓÚͨ¹ı¹²Ïí¿â¶¯Ì¬¼ÓÔØµÄ·şÎñ£¬ÎÒÃÇ¿ÉÒÔͨ¹ıdlopen,dlsymµÈº¯Êı£¬ºÜÈİÒ׵ĴӺ¯ÊıÃû×Öµ¼³öº¯Êı±¾Éí¡£ACEµ×²ãʵÏÖ£¬Ò²ÊÇͨ¹ıÕâÑùµÄ·½Ê½£¬À´¶¯Ì¬¼ÓÔØ·şÎñµÄ£©£¬Òò´ËÎÒÔÚ±êÌâÀïĞ´ÁËCÓïÑԵġ°·´É䡱^^¡£ÔÚCºÍC++ÀÎÒÃÇ´ÓÓïÑԵĽǶÈÉÏ£¬ÎÒÃÇûÓа취ÕâÑù×ö¡£ Ë×»°Ëµ£ºÌìÎŞ¾øÈË֮·¡£Ã»ÓĞC×ö²»µ½µÄÊÂÇ飨CÊÇÄÜ×öµ½£¬µ«ÊǺܶàʱºòÎÒ×ö²»µ½£¬ÒòΪÎÒµÄˮƽ»¹ºÜ²î^^£©¡£ÕâÀïÎÒÃÇ¿ÉÒÔͨ¹ı½âÎöELFÎļş¸ñʽ£¬ºÜÇáËɵĴӺ¯ÊıµÄÃû×ÖÀ´µÃµ½º¯Êı±¾Éí£¬´úÂëÈçÏ£¨¸Ã´úÂëÖ»ÊÇÒ»¸ö¼òµ¥µÄÑİʾ£©£º ÎļşÃû£ºparse.c #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <libelf.h> #include <gelf.h> void test(int i) { printf("oh, come on baby\n"); printf("the i is %d\n",i); } int main(int argc, char **argv) { Elf *elf = NULL; Elf_Scn *scn = NULL; GElf_Shdr shdr; Elf_Data data = NULL; int fd, ii, count; void (func)(int); elf_version(EV_CURRENT); fd = open(argv[1], O_RDONLY); elf = elf_begin(fd, ELF_C_READ, NULL); while ((scn = elf_nextscn(elf, scn)) != NULL) { gelf_getshdr(scn, &shdr); if (shdr.sh_type == SHT_SYMTAB) { / found a symbol table, go print it. / break; } } data = elf_getdata(scn, NULL); count = shdr.sh_size / shdr.sh_entsize; for (ii=0; ii < count; ++ii) { GElf_Sym sym; gelf_getsym(data, ii, &sym); if(!strcmp("test", elf_strptr(elf, shdr.sh_link, sym.st_name))){ func = (void ()(int))(unsigned long)(sym.st_value& 0xffffffff);//µÃµ½º¯ÊıÃû×Ö¶ÔÓ¦µÄº¯ÊıµØÖ· func(7); } } elf_end(elf); close(fd); } ±àÒë:gcc -o parse parse.c -lelf ÔËĞĞ£ºparse parse ͨ¹ıÉÏÃæÕâÖÖÊֶΣ¬ÎÒÃÇ´Óº¯ÊıµÄÃû×ֵõ½ÁËÏàÓ¦µÄº¯Êı¡£¸Ã´úÂëÔÚsolarisÉϱàÒëÔËĞĞͨ¹ı¡£ÍøÂçÉÏͨ¹ı½âÎöELF½øĞгÌĞòhackµÄÀı×Ó²»ÉÙ£¬ÎÒÕâÀï¼òµ¥µÄ½âÎöELF£¬ÄÃÀ´ÕıµÀÖ®Óã¬Ò²¿ÉνÊÇÃûÃÅÕıÅÉÁË¡££¨±ğÈÔ¼¦µ°Ñ½^^£© Æäʵ£¬ºÜ¶à¶«Î÷¾ÍÊÇÒ»ÖÖ˼·£¬ÎÒûÓĞ¿´ACEµÄʱºò£¬´ÓÀ´Ã»ÓĞÏëµ½¹ıͨ¹ıÅäÖÃÎļşÀ´½øĞĞ·şÎñµÄÑ¡ÔñÆô¶¯¡£µ±ÎÒ¿´ÁËACEºó£¬¾Í˵£º¡°à¸£¬Ô­À´³ÌĞò¿ÉÒÔÕâÑù¡±£¬²¢ÇÒͨ¹ı×Ô¼ºµÄ·¢É¢Ë¼Î¬£¬¿ÉÒÔ½øÒ»²½¿¼ÂdzöһЩ¶«Î÷¡£°¥¡£¡£¡££¬¿´À´×Ô¼ºÒªÑ§µÄ¶«Î÷»¹ºÜ¶àѽ£¬×Ô¼º»¹ÊÇÒ»¸öÄۻƹÏ^^¡£ zhxlanjuan @ 22:26 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(2) | ÒıÓÃ(Trackback0) 2004-04-25 00:34 ACEµÄÔ´Âë»®·ÖºÍlibrary subsetting ǰ¼¸ÆªÎÄÕÂÒ²Ìáµ½¹ı£¬ACEµÄËùÓĞÔ´ÎļşºÍÍ·Îļş¶¼ÔÓÂÒ¶ÑÔÚÁËACE_wrappers/aceĿ¼Ï¡£ÕâÑùµÄ´úÂë×éÖ¯·½Ê½¸øÑ§Ï°ACE´øÀ´Á˺ܴóµÄÀ§ÄÑ£¬ºÜ¶àÅóÓÑÔÚ¿´µ½aceĿ¼ÏÂÅÓ´óµÄ´úÂëµÄʱºò£¬¼¸ºõ¾ÍʧȥÁËѧϰACEµÄĞÅĞÄ^^¡£Òò´Ë£¬ÎÒÃÇÓбØÒª¶ÔACEµÄ´úÂë½øĞĞÖØĞÂ×éÖ¯£¬ÒÔ½µµÍѧϰÇúÏß¡£ÏÂÃæ£¬ÎÒ½«¸ø³öÎÒ¶ÔACEÔ´ÂëµÄ»®·Ö·½·¨¡£Æäʵ£¬ÎÒÒ²ÊǸÕѧϰACEûÓжà¾Ã£¬¶ÔACEµÄÁ˽⻹ÉõÉÙ£¬ËùÒÔ£¬ÎÒµÄÔ´Âë»®·½Ê½·¨²»Ò»¶¨Ê®·ÖÕıÈ·£¬ÕâÀï¹²Ïí³öÀ´£¬½ö¹©´ó¼Ò²Î¿¼¡£ Æäʵ£¬ÔÚACEµÄ°ïÖúÎĵµÀACE-subsets.htmlºÍACE-categories.html£¬ÕâÁ½¸öÎĵµ¶ÔÖ¸µ¼ACEµÄÔ´Âë»®·ÖÆğµ½Á˺ܴóµÄ×÷Ó㬷ñÔò£¬ÎÒ¸Õ¸Õ½Ó´¥ACE£¬¾ÍÏë¶ÔÆä½øĞĞÔ´Âë»®·Ö£¬ÊDz»¿ÉÄÜÍê³ÉµÄ¡£ACE-subsets.html£¬Õâ¸öÎĵµÖ÷Òª½éÉÜÁËACEµÄlibrary subsetting¡£Õı³£Çé¿öÏ£¬ÔÚ±àÒëÍêACEºó£¬Ö»»á²úÉúÒ»¸öACEµÄ¿â¡£ÎÒÃÇ¿ÉÒÔ¸ù¾İ¸ÃÎĵµµÄ½éÉÜ£¬¼òµ¥µÄĞŞ¸ÄÒ»ÏÂMakefile£¬¾Í¿ÉÒÔ¶ÔACEµÄ¿â½øĞĞ×Ó¼¯»¯£¬ÎÒÃÇ¿ÉÒÔ±àÒë³öOS¡¢ThreadµÈÕâÑùµÄ×Ó¿â¡£ACE-categories.html£¬Õâ¸öÎĵµ¶ÔACEÖеĴúÂë½øĞĞÁËһЩ¹¦ÄÜÉϵķÖÀà¡£¾ßÌå´ó¼Ò¿ÉÒÔÏêϸµÄ²Î¿¼Ò»ÏÂÕâÁ½¸öÎĵµ£¬ÕâÁ½¸öÎĵµ¶ÔѧϰACE»¹ÊÇÓĞÒ»¶¨µÄ°ïÖúµÄ¡£ ÔÚACEµÄÔ´´úÂëĿ¼aceÏ£¬ÎÒ½«½¨Á¢ºÜ¶à×ÓĿ¼£¬À´¶ÔACEµÄ´úÂë½øĞа´¹¦ÄÜ·ÖÀࣺ ACE_OS£º¸ÃĿ¼Àï°üº¬µÄ´úÂëÊÇOSµÄAPIµÄwrapper£¬Ò²¾ÍÊÇACEµÄOSÊÊÅä²ã£» °üº¬´úÂ룺 ARGV.cpp OS_Memory.cpp Argv_Type_Converter.cpp OS_QoS.cpp Base_Thread_Adapter.cpp OS_String.cpp Basic_Types.cpp OS_TLI.cpp Copy_Disabled.cpp OS_Thread_Adapter.cpp Env_Value_T.cpp Sched_Params.cpp Handle_Set.cpp Template_Instantiations.cpp Makefile Thread_Hook.cpp OS.cpp Time_Value.cpp OS_Dirent.cpp OS_Errno.cpp OS_Log_Msg_Attributes.cpp ACE_Codec£º¸ÃĿ¼°üº¬µÄÊÇACEµÄ¸÷ÖÖ±àÂëÀàĞ͵Ĵ¦Àí´úÂ룬Ŀǰֻ°üº¬ÁËBASE64±àÂëµÄ´¦Àí£» °üº¬´úÂ룺Codecs.cpp Makefile ACE_Connection£º¸ÃĿ¼°üº¬µÄÊÇACEÖеÄAcceptor-Connector¿ò¼Ü´úÂëºÍÒ첽ͨѶÀà´úÂ룻 °üº¬´úÂ룺Acceptor.cpp Connector.cpp Asynch_Acceptor.cpp Makefile Asynch_Connector.cpp POSIX_Asynch_IO.cpp Asynch_IO.cpp Strategies_T.cpp Asynch_IO_Impl.cpp Svc_Handler.cpp Asynch_Pseudo_Task.cpp WIN32_Asynch_IO.cpp Cached_Connect_Strategy_T.cpp Caching_Strategies_T.cpp ACE_Demux£º¸ÃĿ¼°üº¬µÄÊÇACEÖеÄReactorºÍProactor¿ò¼Ü´úÂ룻 °üº¬´úÂ룺Dev_Poll_Reactor.cpp Priority_Reactor.cpp TP_Reactor.cpp Event_Handler.cpp Proactor.cpp TkReactor.cpp Event_Handler_T.cpp QtReactor.cpp WFMO_Reactor.cpp FlReactor.cpp Reactor.cpp WIN32_Proactor.cpp Makefile SUN_Proactor.cpp XtReactor.cpp Msg_WFMO_Reactor.cpp Select_Reactor.cpp POSIX_CB_Proactor.cpp Select_Reactor_Base.cpp POSIX_Proactor.cpp Select_Reactor_T.cpp ACE_IPC£º¸ÃĿ¼°üº¬µÄÊÇACEÖнø³Ì¼äͨѶµÄһЩ·â×°´úÂ룺 °üº¬´úÂ룺ATM_Acceptor.cpp Makefile ATM_Addr.cpp Pipe.cpp ATM_Connector.cpp SPIPE.cpp ATM_Params.cpp SPIPE_Acceptor.cpp ATM_QoS.cpp SPIPE_Addr.cpp ATM_Stream.cpp SPIPE_Connector.cpp DEV.cpp SPIPE_Stream.cpp DEV_Addr.cpp SV_Message.cpp DEV_Connector.cpp SV_Message_Queue.cpp DEV_IO.cpp SV_Semaphore_Complex.cpp FIFO.cpp SV_Semaphore_Simple.cpp FIFO_Recv.cpp SV_Shared_Memory.cpp FIFO_Recv_Msg.cpp Signal.cpp FIFO_Send.cpp TLI.cpp FIFO_Send_Msg.cpp TLI_Acceptor.cpp FILE.cpp TLI_Connector.cpp FILE_Addr.cpp TLI_Stream.cpp FILE_Connector.cpp TTY_IO.cpp FILE_IO.cpp Typed_SV_Message.cpp IOStream.cpp Typed_SV_Message_Queue.cpp IOStream_T.cpp UNIX_Addr.cpp IO_SAP.cpp UPIPE_Acceptor.cpp MEM_Acceptor.cpp UPIPE_Connector.cpp MEM_Addr.cpp UPIPE_Stream.cpp MEM_Connector.cpp XTI_ATM_Mcast.cpp MEM_IO.cpp MEM_SAP.cpp MEM_Stream.cpp ACE_LIB£º¸ÃĿ¼½«°üº¬ACE±àÒëºÃµÄ¸÷¸ö×ӿ⣻ ACE_Logging£º¸ÃĿ¼°üº¬ACEÖеÄÈÕÖ¾´¦ÀíÏà¹Ø´úÂ룻 °üº¬´úÂ룺Dump.cpp Log_Msg_UNIX_Syslog.cpp Dump_T.cpp Log_Record.cpp Log_Msg.cpp Logging_Strategy.cpp Log_Msg_Backend.cpp Makefile Log_Msg_Callback.cpp Trace.cpp Log_Msg_IPC.cpp Log_Msg_NT_Event_Log.cpp ACE_Memory£º¸ÃĿ¼°üº¬ÁËACEÄÚ´æ´¦ÀíÏà¹Ø´úÂ룻 °üº¬´úÂ룺Based_Pointer_Repository.cpp Obstack.cpp Based_Pointer_T.cpp Obstack_T.cpp Makefile PI_Malloc.cpp Malloc.cpp Read_Buffer.cpp Malloc_Allocator.cpp Shared_Memory.cpp Malloc_Instantiations.cpp Shared_Memory_MM.cpp Malloc_T.cpp Shared_Memory_SV.cpp Mem_Map.cpp Memory_Pool.cpp Obchunk.cpp ACE_Misc£ºACEÖĞһЩûÓĞÃ÷È·¹¦ÄÜ·ÖÀàµÄ´úÂ룬ÊôÓÚÔÓÏ °üº¬´úÂ룺CE_Screen_Output.cpp NT_Service.cpp Makefile gethrtime.cpp ACE_Nameservices£º¸ÃĿ¼°üº¬ÁËACEÖĞÃû×Ö·şÎñÏà¹Ø´úÂ룻 °üº¬´úÂ룺 Name_Space.cpp Local_Name_Space.cpp Naming_Context.cpp Local_Name_Space_T.cpp Registry_Name_Space.cpp Makefile Remote_Name_Space.cpp Name_Proxy.cpp Name_Request_Reply.cpp ACE_Sockets£º¸ÃĿ¼°üº¬µÄÊÇACEµÄsocket·â×°´úÂ룻 °üº¬´úÂ룺Addr.cpp SOCK_CODgram.cpp INET_Addr.cpp SOCK_Connector.cpp IPC_SAP.cpp SOCK_Dgram.cpp LOCK_SOCK_Acceptor.cpp SOCK_Dgram_Bcast.cpp LSOCK.cpp SOCK_Dgram_Mcast.cpp LSOCK_Acceptor.cpp SOCK_IO.cpp LSOCK_CODgram.cpp SOCK_SEQPACK_Acceptor.cpp LSOCK_Connector.cpp SOCK_SEQPACK_Association.cpp LSOCK_Dgram.cpp SOCK_SEQPACK_Connector.cpp LSOCK_Stream.cpp SOCK_Stream.cpp Makefile Sock_Connect.cpp Multihomed_INET_Addr.cpp SOCK.cpp SOCK_Acceptor.cpp ACE_Streams£º¸ÃĿ¼°üº¬ÁËACEÖеÄStreamsºÍTask¿ò¼Ü´úÂ룻 °üº¬´úÂ룺CDR_Base.cpp Module.cpp CDR_Stream.cpp Multiplexor.cpp Codeset_IBM1047.cpp Reactor_Notification_Strategy.cpp Codeset_Registry.cpp Stream.cpp Codeset_Registry_db.cpp Stream_Modules.cpp IO_Cntl_Msg.cpp Task.cpp Makefile Task_T.cpp Message_Queue.cpp Message_Queue_T.cpp ACE_Svcconf£º¸ÃĿ¼°üº¬ÁËACEÖеÄService Configurator¿ò¼Ü´úÂ룻 °üº¬´úÂ룺DLL.cpp Service_Types.cpp DLL_Manager.cpp Shared_Object.cpp Dynamic_Service.cpp Svc_Conf.l Dynamic_Service_Base.cpp Svc_Conf.y Makefile Svc_Conf_Lexer_Guard.cpp Parse_Node.cpp Svc_Conf_l.cpp Service_Config.cpp Svc_Conf_y.cpp Service_Manager.cpp XML_Svc_Conf.cpp Service_Object.cpp Service_Repository.cpp Service_Templates.cpp ACE_Threads£º¸ÃĿ¼°üº¬ÁËACEÖеÄÏ̺߳Íͬ²½»úÖÆÏà¹Ø´úÂ룬ÀıÈ磺thread manager; °üº¬´úÂ룺Activation_Queue.cpp Process_Manager.cpp Thread.cpp Atomic_Op.cpp Process_Mutex.cpp Thread_Adapter.cpp Atomic_Op_T.cpp Process_Semaphore.cpp Thread_Control.cpp File_Lock.cpp RW_Process_Mutex.cpp Thread_Exit.cpp Future.cpp Synch.cpp Thread_Manager.cpp Future_Set.cpp Synch_Options.cpp Token.cpp Makefile Synch_T.cpp Process.cpp Test_and_Set.cpp ACE_Timer£º¸ÃĿ¼°üº¬ACEÖкÍʱ¼äÏà¹ØµÄ´úÂ룻 °üº¬´úÂ룺Timer_Heap.cpp Basic_Stats.cpp Timer_Heap_T.cpp High_Res_Timer.cpp Timer_List.cpp Makefile Timer_List_T.cpp Profile_Timer.cpp Timer_Queue.cpp System_Time.cpp Timer_Queue_Adapters.cpp Time_Request_Reply.cpp Timer_Queue_T.cpp Timeprobe.cpp Timer_Wheel.cpp Timeprobe_T.cpp Timer_Wheel_T.cpp Timer_Hash.cpp Timer_Hash_T.cpp ACE_Token£ºTokenÊÇACEÖĞʵÏÖµÄÒ»ÖÖͬ²½»úÖÆ£¬±£Ö¤ÑϸñµÄFIFO»òLIFO²ßÂÔÀ´»ñµÃËø¡£ACEͨ¹ıToken»úÖÆÊµÏÖÁË·Ö²¼Ê½Í¬²½»úÖÆ¡£ °üº¬´úÂ룺Local_Tokens.cpp Token_Collection.cpp Token_Request_Reply.cpp Makefile Token_Invariants.cpp Remote_Tokens.cpp Token_Manager.cpp ACE_Utils£ºACEÖеÄһЩ»ù´¡Êı¾İ½á¹¹ºÍËã·¨µÄ¹¤¾ßÀà´úÂ룻 °üº¬´úÂ룺ACE.cpp Init_ACE.cpp Active_Map_Manager.cpp Intrusive_List.cpp Active_Map_Manager_T.cpp Intrusive_List_Node.cpp Arg_Shifter.cpp Lib_Find.cpp Array_Base.cpp Makefile Auto_IncDec_T.cpp Managed_Object.cpp Auto_Ptr.cpp Map.cpp Cache_Map_Manager_T.cpp Map_Manager.cpp Caching_Utility_T.cpp Map_T.cpp Capabilities.cpp Message_Block.cpp Cleanup_Strategies_T.cpp Message_Block_T.cpp Configuration.cpp Method_Request.cpp Configuration_Import_Export.cpp Node.cpp Connection_Recycling_Strategy.cpp Notification_Strategy.cpp Containers.cpp Object_Manager.cpp Containers_T.cpp Pair.cpp Date_Time.cpp Pair_T.cpp Dirent.cpp RB_Tree.cpp Dirent_Selector.cpp Recyclable.cpp Dynamic.cpp Refcountable.cpp Filecache.cpp Registry.cpp Flag_Manip.cpp SString.cpp Framework_Component.cpp Sample_History.cpp Framework_Component_T.cpp Singleton.cpp Free_List.cpp Stats.cpp Functor.cpp String_Base.cpp Functor_T.cpp String_Base_Const.cpp Get_Opt.cpp Swap.cpp Handle_Ops.cpp Unbounded_Queue.cpp Hash_Cache_Map_Manager_T.cpp Unbounded_Set.cpp Hash_Map_Manager.cpp Unbounded_Set_Ex.cpp Hash_Map_Manager_T.cpp Vector_T.cpp Hash_Map_With_Allocator_T.cpp Hashable.cpp include£º¸ÃĿ¼ÓÖ°üº¬×ÓĿ¼ace£¬Ò²¾ÍÊÇ˵include/ace/Ŀ¼Ï£¬°üº¬ÁËACEµÄËùÓĞÍ·ÎļşºÍ.iÎļş£¬Ö®ËùÒÔÕâÑù×éÖ¯£¬ÊÇÒòΪACEÖеÄÔ´ ÎļşºÍÍ·ÎļşµÄ°üº¬ÎļşµÄ·½Ê½Îª£º#include "ace/OS.h"£¬ËùÒÔ²ÉÓÃÕâÖÖĿ¼½á¹¹·½Ê½À´´æ·ÅÍ·ÎļşºÍ.iÎļş¡£ÕâÀ¶ÔÍ·ÎļşºÍ.i Îļş£¬Ã»ÓнøÒ»²½°´ÕÕ¹¦ÄÜ»®·Ö£¬¾ÍÊÇÒòΪ#include "ace/OS.h"ÕâÖÖ°üº¬·½Ê½£¬Èç¹ûÍ·ÎļşºÍ.iÎļşÒ²°´ÕÕ¹¦ÄÜ»®·Ö£¬ÄÇô´úÂëĞŞ¸Ä Á¿Ï൱´ó£» ͨ¹ıÉÏÃæ¸ø³öµÄĿ¼½á¹¹ºÍÔ´Îļş¹¦ÄÜ»®·Ö¼°Í·Îļş×éÖ¯·½Ê½£¬ÏàĞŶÁÕßÒÔ¿ÉÒÔ×ÔĞжÔACE´úÂë½øĞĞÕûÀíÁË¡£ÔÚʵ¼ÊÕûÀíºÍ±àÒë´úÂëµÄ¹ı³ÌÖĞ£¬ĞèÒªĞŞ¸ÄMakefileºÍACEÍ·ÎļşÖĞÒÔ_T·½Ê½Îªºó׺µÄÍ·Îļş£¬ÀıÈ磺Obstack_T.h£¬ĞèÒªĞŞ¸ÄÀïÃæÄ£°åÔ´Îļş°üº¬Â·¾¶¡£ÎÒ½«ÔÚÏÂһƪÎÄÕÂÖнøĞĞÃèÊö¡£ ÎÒÔÙ´ÎÇ¿µ÷£¬ÉÏÃæACEÔ´Âë»®·Ö·½Ê½£¬²»Ò»¶¨Ê®·ÖÕıÈ·^^£¬Ëæ×ÅÎÒÃÇACEѧϰºÍÀí½âµÄÉîÈ룬ÎÒÃÇ¿ÉÄÜ»á½øĞиü¸Ä¡£Æäʵ£¬ÔÚÎÒÃÇÕûÀíACEÔ´ÎļşµÄʱºò£¬ÎÒÃÇ¿ÉÒÔ½øÒ»²½Á˽âACEµÄ¸÷¸öÔ´Îļş´óÖ¹¦ÄÜ£¬¶ÔÎÒÃÇÒÔºó¸üÉîÈëµÄѧϰ´óÓĞñÔÒæ¡£ zhxlanjuan @ 00:34 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(4) | ÒıÓÃ(Trackback0) 2004-04-22 21:08 ACEÖеÄinline ÔÚACEµÄÔ´´úÂëĿ¼ÀÓĞÔ´Îļş.cpp¡¢Í·Îļş.h£¬ÎÒÃÇ»¹·¢ÏÖÓĞÒÔ.iºÍ.inlΪÀ©Õ¹ÃûµÄÎļş¡£Æäʵ£¬ÒÔ.iºÍ.inlΪÀ©Õ¹ÃûµÄÎļşÊÇACEÔ´ÂëÖĞinlineº¯ÊıµÄ´æ·ÅĞÎʽ¡£ ÔÚ˵Ã÷ACEÖĞΪʲô²ÉÓÃÕâÖÖ·½Ê½À´´æ·Åinlineº¯Êı֮ǰ£¬ÎÒÃÇÀ´ËµÒ»ÏÂinline¹Ø¼ü×ÖÊÇʲôÒâʶ¡£ÎÒÃÇÖªµÀµ±µ÷ÓÃÒ»¸öº¯ÊıµÄʱºò£¬Éæ¼°µ½·µ»ØµØÖ·ºÍ²ÎÊıѹջµÈһЩ²Ù×÷£¬ÕâĞ©²Ù×÷ÊǺ¯Êıµ÷Óñ¾ÉíµÄ¿ªÏú¡£ÔÚÔ­À´µÄC´úÂëÖĞ£¬Í¨³£²ÉÓú궨ÒåµÄ·½Ê½Ä£Ä⺯Êı£¬À´Ïû³ıº¯Êıµ÷ÓõĿªÏú£¬Òò´ËÎÒÃÇÖªµÀºêÊÇÔÚÔ¤±àÒëʱºò½øĞĞ´¦ÀíµÄ¡£µ«ÊÇ£¬ºê¶¨Òå±¾ÉíÒ²ÓкܶàȱÏİ£¬ºÜÈİÒ×Ôì³É´íÎóµÄʹÓá£Õâ¾ÍÊÇinline¹Ø¼ü×Öµ®ÉúµÄÔ­Òò¡£ÓÃinline¹Ø¼ü×Ö¶¨ÒåµÄº¯Êı£¬ÔÚ±àÒëµÄʱºò£¬²¢²»»á²úÉúÕæÕıµÄº¯Êı£¬¶øÊÇÔڸú¯Êıµ÷Óô¦Ö±½ÓÕ¹¿ª´úÂ룬ÕâÑù¾ÍÏû³ıÁ˺¯Êıµ÷ÓõĿªÏú¡£×¢Ò⣬inline¹Ø¼ü×Ö£¬Ö»ÊǸø±àÒëÆ÷µÄÒ»¸ö°µÊ¾£¬ÊDz»ÊÇÕæµÄ½øĞĞÁËinline´¦Àí£¬ÊÇÓɱàÒëÆ÷¾ö¶¨µÄ¡£ ÄÇΪʲôACE»á²ÉÓÃÕâÑùÒ»¸öÌØÊâµÄ·½Ê½À´´æ·Åinlineº¯ÄØ£¿ÎÒÃǽáºÏʵÀı¸ø³ö´ğ°¸¡£ ÎÒÃÇ¿´Ò»Ï£¬Reactor.hÎļşµÄ½áβ´¦£¬ÓĞÈçϵĴ¦Àí£º #if defined (ACE_INLINE) #include "ace/Reactor.i" #endif / ACE_INLINE / ÔÚ¿´Ò»ÏÂReactor.cppÎļş¿ªÍ·´¦µÄºê´¦Àí£º #if !defined (ACE_INLINE) #include "ace/Reactor.i" #endif / ACE_INLINE */ ÉÏÃæµÄReactor.h£¬Reactor.cppºÍReactor.iÎļşÊÇACEµÄReactor¿ò¼ÜµÄÏà¹Ø´úÂë¡£ÉÏÃæµÄºê¶¨ÒåÎÒÃǺܺÃÀí½â£¬ÔÚÍ·ÎļşÖеĴ¦ÀíΪ£ºÈç¹û¶¨ÒåÁ˺ê__ACE_INLINE__£¬ÄÇôÎÒÃǾͰÑReactor.iÎļşincludeµ½Í·ÎļşÖĞ¡£ÔÚÔ´ÎļşÖĞ´¦ÀíΪ£ºÈç¹ûûÓж¨Òåºê__ACE_INLINE__£¬ÄÇô¾Í°ÑReactor.iÎļşincludeµ½Ô´ÎļşÖĞ¡£ÆäʵÓĞÁËÉÏÃæinlineº¬ÒåµÄ½éÉÜ£¬ÎÒÃDz»ÄÑÀí½âΪʲô²ÉÓÃÕâÖÖ·½Ê½À´½øĞĞ´¦Àí¡£ÕâÀïÎÒÃǼÙÉ趨ÒåÁ˺ê__ACE_INLINE__£¬²¢ÇÒReactor.iÎļşÊDZ»includeµ½Ô´ÎļşÀ¶ø²»ÊDZ»includeÍ·ÎļşÀÄÇô»á²úÉúʲôºó¹ûÄÇ£¿ÎÒÃÇÖªµÀinlineº¯Êı£¬ÔÚ±àÒëÆ÷±àÒëºó£¬ÊDz»»á²úÉúÕæÕıµÄº¯ÊıµÄ£¬Òò´Ë£¬Èç¹ûÓĞÆäËüÔ´Îļş£¬ÀıÈçzhx.cpp£¬µ÷ÓÃÁËReactor.iÎļşÖеÄinlineº¯Êı£¬ÄÇôÔÚÁ¬½ÓµÄʱºò£¬¾Í»áÅ׳ö·ûºÅÎŞ·¨½âÎöµÄ´íÎ󣬶øÈç¹ûReactor.iÎļşÊDZ»includeµ½ÁËÍ·ÎļşÖĞ£¬²¢ÇÒÎÒÃÇÔÚzhx.cppÖĞÓе÷ÓÃReactor.iÎļşÖеĺ¯Êı£¬ÄÇôÔÚzhx.cppÖĞ£¬Ö»ĞèÒª°üº¬Reactor.hÍ·Îļş¼´¿É£¬ÔòReactor.iµÄÏà¹Øinlineº¯ÊıÔÚzhx.cppÒ²½øĞĞÁË´úÂëÕ¹¿ª´¦Àí¡£Èç¹ûûÓж¨Òåºê__ACE_INLINE__£¬ÔòReactor.i±»includeµ½Ô´ÎļşÖĞ£¬Ã»ÓĞÈκÎÎÊÌ⣬ÒòΪReactor.iÖеĺ¯ÊıÔÚ±àÒëºó£¬»á²úÉúÕæÕıµÄº¯Êı£¬¶ø²»ÊDZ»inline´¦Àí¡£Õâ¾ÍÊÇACEΪʲô²ÉÓÃÕâÑùµÄ·½Ê½½øĞĞ´¦ÀíµÄÔ­Òò¡£ ÔÚÉÏÃæµÄ½éÉÜÖĞ£¬ÎÒÃÇͬʱҲ·¢ÏÖÁËinlineµÄȱµã£¬¾ÍÊÇËü»áÔì³É´úÂëµÄÅòÕÍ¡£Òò´Ë£¬²»ÊÇʲôÑùµÄº¯Êı¶¼ÊʺÏÓÃinlineÀ´¶¨Ò壬ֻÓĞÄÇĞ©¶ÌĞ¡µÄº¯Êı²ÅÊʺϲÉÓÃinline´¦Àí¡£ ×¢£ºACEΪʲô»á²ÉÓÃ.iºÍ.inlÁ½ÖÖÀ©Õ¹ÃûĞÎʽµÄÎļşÀ´´æ·Åinlineº¯Êı£¬ÎÒ»¹²»ÊǺÜÇå³ş£¬µ«¸Ğ¾õÒÔ.inlĞÎʽ´æ·ÅµÄÎļşÊÇÔçÆÚACE´úÂëÖеķ½Ê½£¬ºóÆÚµÄACE´úÂë²ÉÓÃ.i·½Ê½À´´æ·Åinlineº¯Êı£¬Ò²¾ÍÊÇ˵ÕâÓ¦¸ÃÊÇÒ»¸öÀúÊ·ÒÅÁôÎÊÌâ^_^£¬¿ªÔ´ÏîÄ¿µÄȱµã¡£ zhxlanjuan @ 21:08 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(0) | ÒıÓÃ(Trackback0) 2004-04-18 14:30 ACEĿ¼½á¹¹½éÉÜ ACE(ADAPTIVE Communication Environment),ÖĞÎĵÄÒâ˼¾ÍÊÇ×ÔÊÊÅäͨѶ»·¾³£¬ACEÊÇÒ»¸öÓÃÓÚ¿ª·¢ÍøÂç³ÌĞòµÄÓÅĞãµÄC++µÄ¿ò¼Ü£¬ÔÚ¹úÍâÓкܹ㷺µÄʹÓã¬ÔÚ¹úÄÚһЩ´óµÄ¿ª·¢Í¨Ñ¶²úÆ·µÄ¹«Ë¾Ò²ÓĞʹÓá£ÎÒ½Ó´¥ACEÒ²ÓĞÒ»¶Îʱ¼äÁË£¬ËäȻʱ¼ä²»³¤£¬µ«ÎÒ»¹ÊǸоõµ½ACEȷʵÊÇÒ»¸öºÃ¶«Î÷£¬¶ÔÓڷḻ×Ô¼ºµÄÖªÊ¶ÃæÓкܴóµÄ°ïÖú¡£ËäÈ»ÎÒÃÇÏîĿĿǰÊDzÉÓÃCÓïÑÔÀ´¿ª·¢£¬µ«Êǵ±½Ó´¥ACEºó£¬Äã»á·¢ÏÖ¡°à¸£¬Ô­À´³ÌĞò»¹¿ÉÒÔÕâÑù¡±¡£ÀıÈ磺ÎÒ¾õµÃACEÀïÃæReactor¿ò¼Ü¾ÍÊÇÒ»¸ö·Ç³£µÄ¶«Î÷£¬ÎÒÃÇÔÚ¿ª·¢ÍøÂç³ÌĞòµÄʱºò£¬³£³£²ÉÓÃpollÀ´¼àÊÓ¸÷ÖÖÍøÂçʼş£¬µ«µ±²ÉÓøÿò¼Üºó£¬ÄãÏÖÔÚÖ»ÊÇĞèÒª¹ØÏµÄãµÄÒµÎñÂß¼­£¬µ±·¢ÉúÌØ¶¨µÄÍøÂçʼşºó£¬¿ò¼Ü»á»Øµ÷ÄãµÄÒµÎñÂß¼­¡£Æäʵ°´ÕÕÕâ¸ö˼·£¬ÎÒÃÇÍêÈ«¿ÉÒÔÓÃCÀ´ÊµÏÖÀàËÆµÄ¹¦ÄÜ£¬µ±ÄãÍê³ÉÕâ¸öºó£¬Äã»á·¢ÏÖÄãÔ­À´ÓÃCÓïÑÔĞ´µÄ¹ı³Ì·ç¸ñµÄ´úÂ뾹ȻÓĞÁËOOµÄζµÀ¡£ ACEȷʵÊǺö«Î÷£¬µ«Ò²²»ÊÇÄÜÇáËɵľÍÄÜÕÆÎյģ¬ÎÒÃÇ»¹ĞèÒªÒ»²½Ò»²½µÄÀ´²ÏʳÕâ¸ö´óÏó¡£ ÍòÕɸߥƽµØÆğ£¬Ê×ÏÈÎÒÃÇ»¹ÊÇÁ˽âÒ»ÏÂACEµÄĿ¼½á¹¹£¬´ÓÕûÌåÉ϶ÔACEÓĞÒ»¸öÈÏʶ£¬Îª½ñºóµÄ½øÒ»²½Ñ§Ï°´òÏÂÒ»¸ö»ù´¡¡£ ½â¿ªACEµÄѹËõ°üºó£¬Äã»á·¢ÏÖÒ»¸öACE_wrappersĿ¼£¬Õâ¸öĿ¼Ҳ¾ÍÊÇACEµÄHOMEĿ¼£¬ËüÏÂÃæ»¹°üº¬×ÅһЩ×ÓĿ¼£º ace£ºÕâ¸öĿ¼ÊÇACEÖĞ×îÖØÒªµÄĿ¼£¬Ëü°üº¬ÁËACEµÄËùÓĞÔ´Â룬µ«Òź¶µÄÊÇ£¬ACEµÄËùÓĞÔ´ÎļşºÍÍ·ÎļşÈ«²¿ÔÓÂҵĶÑÔÚÕâ¸öĿ¼ÀÕâ¿ÉÄÜÒ²ÊǺܶ࿪ԴÈí¼şµÄȱµã¡£ÆäʵACEµÄ´úÂëÍêÈ«¿ÉÒÔ°´ÕÕ²»Í¬µÄ¹¦ÄܽøĞв»Í¬Ä¿Â¼µÄ»®·Ö£¬ÀıÈ磺Reactor¿ò¼ÜºÍthread¿ò¼Ü´úÂëÍêÈ«¿ÉÒÔ»®·Ö¿ª£¬ÎÒÏëÒ»¸ö´úÂë×éÖ¯Á¼ºÃµÄACE£¬½«»á¸ø´ó¼ÒµÄѧϰ´øÀ´¼«´óµÄºÃ´¦£¬ÎÒ½«ÔÚºóÃæµÄÎÄÕÂÀï¸ø³öACE´úÂë»®·ÖµÄ·½·¨£» ACEXML£ºÕâ¸öĿ¼°üº¬ÁËÓÃACEʵÏÖµÄÒ»¸öXML½âÎöÆ÷£» apps£ºÕâ¸öĿ¼°üº¬ÁËÓÃACEÀ´ÊµÏÖµÄһЩ½Ï´óµÄÓ¦ÓóÌĞò£¬ÀıÈ磺JAWS£¬Ò»¸öWEB·şÎñÆ÷£» ASNMP£º»ùÓÚACEµÄSNMPĞ­ÒéʵÏÖ£» bin£º°üº¬ÀïÓÃÀı·½±ã¿ª·¢µÄperl½Å±¾³ÌĞò£¬ÀıÈ磺ÔÚWIN32ÉÏ¿ª·¢DLLʱºò£¬ĞèÒªµ¼³öDLLµÄ½Ó¿Ú£» docs£ºACEµÄһЩ°ïÖúÎĵµ£¬ÆäÖĞACE-subsets.htmlÎĵµ£¬¶ÔÎÒÃÇ»®·ÖACEµÄ´úÂëÓкܴóµÄ°ïÖú£» examples£ºÊÇÓÃACEÀ´±àĞ´µÄһЩÀı×Ó³ÌĞò£¬·½±ã¸üºÃµÄѧϰºÍÀí½âACE£» include£ºÒ²ÊÇACEÖĞÒ»¸ö±È½ÏÖØÒªµÄĿ¼£¬Ëü°üº¬ÁËÔÚ²»Í¬µÄƽ̨ÉϱàÒëʱºòµÄ±àÒë¹æÔò£¬¿âµÄ±àÒë¹æÔòµÈ£» netsvcs£ºÒ»Ğ©»ùÓÚACEµÄÔÚ·Ö²¼Ê½ÏµÍ³Öг£ÓõijÌĞò£¬ÀıÈ磺·Ö²¼Ê½ÏµÍ³ÈÕ־ϵͳ£¬ÍøÂçËø£¬Ê±¼äͬ²½µÈ£» TAO£º»ùÓÚACEµÄʵʱCORBAʵÏÖ£¬TAOÔÚ·Ö²¼Ê½ÏµÍ³ÖĞʹÓÃÏ൱¹ã·º£¬Ò²ÊÇÒ»¸ö²»¿É¶àµÃµÄºÃ×ÊÔ´£» tests£ºÓÃÀ´¶ÔACE½øĞлعé²âÊÔ£¬Ò²ÌṩÁËÒ»¸öѧϰACEµÄºÜºÃµÄÀı×Ó´úÂ룻 zhxlanjuan @ 14:30 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(0) | ÒıÓÃ(Trackback0) 2004-04-17 21:43 ACEÁ¬ÔØ£­ĞòÑÔÆª ѧϰACEÒ²ÓĞÒ»¶ÎÈÕ×ÓÀËäÈ»ÎÒ¶ÔACE¶®µÄ»¹ºÜÉÙ£¬ÓÃÎÒ×Ô¼ºµÄ»°À´Ëµ¾ÍÊÇ£ºÒ»Ö»½Å¸Õ¸Õ̤½øÃż÷£¬»¹Ã»ÓĞÂ䵨£¡µ«ÊÇ£¬ÎÒ»¹ÊÇ»á°ÑÎÒÖªµÀµÄ×ܽá³öÀ´£¬ºÍ´ó¼Ò·ÖÏí£¬ÕâͬʱҲÊǶÔÎÒ×Ô¼ºµÄÒ»¸ö´Ù½ø¡£ zhxlanjuan @ 21:43 | ÔĶÁÈ«ÎÄ | ÆÀÂÛ(1) | ÒıÓÃ(Trackback0) ÈÕÀú 2004 Äê 10 Ô Sun Mon Tue Wen Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ×î½ü¸üĞ ϲÓDzô°ë UNIX³ÌĞòÉè¼ÆÒÕÊõ CVS°æ±¾¹ÜÀíÖ®³¤½£³öÇÊ µ±Äã°®µÄÈË£¬²»°®ÄãµÄʱºò Ò»ÇнÔÓĞ¿ÉÄÜ£º¶¯Ì¬Ğ޸ÄÄãµÄ³ÌĞò CÓïÑÔµ¥Ôª²âÊÔ¿ò¼Ü£­Check ACE Service Configurator¿ò¼ÜºÍCÓïÑԵġ°·´É䡱 ·³ ACEµÄÔ´Âë»®·ÖºÍlibrary subsetting ÎÄÖñ ×îĞÂÆÀÂÛ looklook : Ö±½Ó·ÖÎöelfÒ²ÊÇ¿. jessecw : °ßÖñÕæÀ÷º¦£¬ÎÒÄ¿. darwin_yuan : ÕâÓëÊÇ·ñÊÇÀÏÍâû. errorter : лл£¡ °Ñ. joachimz : ¿ÉÒÔÊÔÊÔʹÓÃEcli. tather : ÄãºÃ£¬¿´ÁËÄãµÄÎÄ. tather : ÄãºÃ£¬¿´ÁËÄãµÄÎÄ. jcylinder : ºÇºÇ£¬¿´ÁËÄã¹ØÓÚ. robertfang : HI ÎÒĿǰҲÔÚ¿´A. classmate from yours : who are you?? yo. ´æµµ ÎÒµÄÁ´½Ó ·çÖ®¹È