[转帖]tuxedo编译命令解释_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4103 | 回复: 0   主题: [转帖]tuxedo编译命令解释        下一篇 
晶晶
注册用户
等级:少校
经验:1086
发帖:89
精华:0
注册:2012-11-8
状态:离线
发送短消息息给晶晶 加好友    发送短消息息给晶晶 发消息
发表于: IP:您无权察看 2012-11-15 14:18:12 | [全部帖] [楼主帖] 楼主

编译服务器

 -----------------------------


      TUXEDO提供了buildserver命令来编译服务器进程。(事实上buildserver只完成预编译,它会调用当前操作系统中已经安装的默认C编译器来完成进一步的编译
      和连接,最终生成可执行代码。)

buildserver[-s {@filename|service[,service...]:[:func]|:func}][-v][-o outfile]
[-f firstfiles][-l lastfiles][{-r|-g}rmname][-k][-t]


        ** -v  表示打开VERBOSE模式,即编译过程中打印更多的信息。

     ** -t  表示支持多线程。如果要使服务器支持多线程,则必须加上这个选项。

        ** -k  表示保留中间生成的带有main()函数的源程序文件,这个文件通常以"BS-"开头。如果不加-k,生成可执行代码后,这个中间文件会被自动删除。

     ** -o  outfile  指定生成的可执行文件名。

     ** -f  firstfiles   指定要优先于TUXEDO系统库之前连接的文件名。则文件名之间应以空格分隔,并用引号把整个串引起来(如-f "f1.c f2.c f3.c"),
               也可以对每个文件使用一个-f选项 (如:-f f1.c -f f2.c -f f3.c)。

     ** -l  lastfiles   指定要在TUXEDO系统库之后连接的文件名,用法同-f.

     ** -r  rmname 指定一个RM文件中定义的入口名,buildserver指示编译程序静态连接与rmname相关的库文件。

     ** -s  定义服务与函数的映射关系。通常情况下,一个服务与一个同名的函数一一对应。比如,simpserv中的TOUPPER服务就对应于TOUPPER函数。
               如果一个服务器实现了多个服(如X、Y和Z),则在编译时,既可以用一个-s来指定(如 -s X,Y,Z),也可以用多个-s来指定(如 -s X -s Y -s Z)。
               事实上,一个函数也可以实现多个服务,服务函数可以根据接收参数TPSVCINFO中的name字段来判断定户机调用了哪一个服务,然后再执行相应
               的业务逻辑。比如,函数ALL实现了X,Y和Z的业务逻辑,则在编译时,-s选项应该指定为-s X,Y,Z:ALL,逗号前后不能有空格。在某些情色况下,
               只有在运行时才知道服务,而在编译时服务名是未知的,在编译这样的服务器时,应该在函数名前面加一个冒号(如 -s:TOUPPER),在运行时,管
               理可以使用tmadmin子命令来公告服务(如 adv -g GROUP1 -i l TOUPPER:TOUPPER,冒号前面是服务名,后面是函数名)。

     如:

 buildserver -o simpserv -f simpserv.c -s TOUPPER


      补充:
      另如:
      使用TUXEDO的别名功能,使交易以不同名字发布,如:

 buildserver –f read.c –o read –s READ70,READ80,READ90:READ


编译客户端

 -------------------------------------


      TUXEDO提供了buildclient命令来编译C语言客户机进程。

        buildclient 命令的使用方法如下:

 buildclient [-v][{-r rmname |-w}][-o name][-f firstfiles] [-l lastfiles]


           ** -v    打开VERBOSE模式,即编译过程中打印更多的信息。

     ** -r    rmname 与 buildserver的同名选项功能一致,即用于指定与客户程序相关的资源管理器。rmname是RM文件的一个入口,若客户程序与任何RM
                    都没有关系,可不指定这个选项。-r不能与-w一起使用,也就是说,-r只适用于本地客户机,因为远程客户机上没有RM文件。

     ** -w     指示编译器连接工作站库,而不是本地库。连接了工作站库的客户机可以通过TCP/IP访问远程TUXEDO服务器,而连接了本地库的客户机只能
                     通过共享内存连接本地TUXEDO服务器。

     ** -o     name 指定生成的目标文件名。如果不指定,在UNIX会下生成a.out。

     ** -f     firstfile 指定要优先于TUXEDO系统库之前连接的文件名。如果有多个文件,则文件名之间应以空格分隔,并用引号把整个串引起来(如 -f
                     "f1.c f2.c f3.c"),也可以对每个文件使用一个-f选项(如 -f f1.c -f f2.c -f f3.c)
           ** -l     lastfiles 指定要在TUXEDO系统库之后连接的文件名。

     如:buildclient -o simpcl -f simpcl.c

编译加载配置文件

 ---------------------------------------------


     ASCII形式的配置文件不能直接被TUXEDO系统识别,需要使用tmloadcf命令把它转换成二进制形式才。

     tmloadcf命令格式如下:

tmloadcf[-n][-y][-c][-b blocks][UBBCONFIG_file]


       **   -n   只对配置文件做语法检查,不做转换。

     **   -y   在确认是否初始公或覆盖二进制配置文件时,响应YES.

     **   -c   打印在当前配置下,所需要的最小的IPC资源数量。

     **   -b   如果二进制配置文件还没有初始化,-b用于指定它的最大尺寸。

     在执行tmloadcf之前,要确保已经设置了TUXCONFIG环境变量,因为它指定了生成的二进制配置文件的名字和存放的位置。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论