TFS源码解析二

21 篇文章 0 订阅
10 篇文章 0 订阅

    NameServer涉及的代码文件目录:

    block_collect.cpp

    block_collect.h

    block_id_factory.cpp

    block_id_factory.h

    block_manager.cpp

    block_manager.h

    client_request_server.cpp

    client_request_server.h

    database_helper.cpp

    database_helper.h

    family_collect.cpp

    family_collect.h

    family_manager.cpp

    family_manager.h

    gc.cpp

    gc.h

    global_factory.cpp

    global_factory.h

    heart_manager.cpp

    heart_manager.h

    layout_manager.cpp

    layout_manager.h

    Makefile.am

    nameserver.cpp

    nameserver.h

    ns_define.cpp

    ns_define.h

    oplog.cpp

    oplog.h

    oplog_sync_manager.cpp

    oplog_sync_manager.h

    server_collect.cpp

    server_collect.h

    server_manager.cpp

    server_manager.h

    service.cpp

    task.cpp

    task.h

    task_manager.cpp

    task_manager.h


    对应代码的整体框架结构,从makefile相关中获取是比较直观的情况,可以确定依赖的linux库和tb内部的代码库

    如下是相对应Makefile.am文件中

#AM_CPPFLAGS=-fprofile-arcs -ftest-coverage -Wall -I$(top_srcdir)/src

AM_CPPFLAGS=-I$(top_srcdir)/src\               #本文件夹文件路径

            -I$(TBLIB_ROOT)/include/tbsys\      #tbsys文件路径

            -I$(TBLIB_ROOT)/include/tbnet\      #tbnet文件路径

$(MYSQL_CFLAGS)     #Mysql传入参数变量

 

#AM_LDFLAGS=-lz -lrt -lpthread -ldl -lgcov

#AM_LDFLAGS=-lz -lrt -lpthread -ldl -rdynamic ${TCMALLOC_LDFLAGS}

AM_LDFLAGS=-lz -lrt -lpthread -ldl –rdynamic      #-lz libz.so 压缩动态库

                                           #-lrt librt.so 信号量、共享内存等动态库

                                           #-lpthread libpthread.so 线程动态库

                                           #-ldl libdl.so 动态加载动态库

                                           #-rdynamic 链接器将所有符号添加到动

#态符号表中可通过dlopen 向后跟踪

 

AM_LDFLAGS+=$(MYSQL_LDFLAGS)              #Mysql静态编译变量

 

LDADD=$(top_builddir)/src/message/libtfsmessage.a \ #依赖的报文消息,在代码中编译出

      $(top_builddir)/src/common/libtfscommon.a\   #功能中的公共部分

      $(TBLIB_ROOT)/lib/libtbnet.a \

      $(TBLIB_ROOT)/lib/libtbsys.a

 

noinst_LIBRARIES=libnameserver.a

 

NAMESERVER_SOURCE_LIST_HEADER=block_collect.h block_id_factory.h block_manager.h client_request_server.h gc.h\

global_factory.h heart_manager.h layout_manager.h nameserver.h ns_define.h\

oplog.h oplog_sync_manager.h server_collect.h server_manager.h task.h task_manager.h\

database_helper.h family_collect.h family_manager.h

 

NAMSERVER_SOURCE_LIST=block_collect.cpp block_manager.cpp  server_collect.cpp\

task.cpp task_manager.cpp server_manager.cpp layout_manager.cpp block_id_factory.cpp global_factory.cpp\

oplog.cpp oplog_sync_manager.cpp client_request_server.cpp gc.cpp\

ns_define.cpp nameserver.cpp heart_manager.cpp database_helper.cpp family_collect.cpp\

family_manager.cpp\

$(NAMESERVER_SOURCE_LIST_HEADER)

 

 

libnameserver_a_SOURCES=$(NAMSERVER_SOURCE_LIST)

libnameserver_a_LIBFLAGS=$(AM_LDFLAGS)

 

bin_PROGRAMS = nameserver  #编译产生的bin文件

 

nameserver_SOURCES=$(NAMSERVER_SOURCE_LIST) service.cpp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值