转自:http://blog.sina.com.cn/s/blog_5413cc0f0100nbgc.html

事实上buildserver只完成预编译,它会调用当前操作系统中已经安装的默认C编译器来完成进一步的编译和连接,最终生成可执行代码。
 buildserver 语法:
   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

tuxedo 提供buildserver命令编译服务器进程的更多相关文章

  1. Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制

    Redis 提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在 Linux 终端使用. 1. 键值相关命令: 2. 服务器相关命令 键值相关命令 ① keys 命令 返回满足给定 pat ...

  2. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

  3. 19、Linux命令对服务器内存进行监控

    国际惯例,我们要知道什么是服务器的内存,内存有哪些作用.这里就不做过多介绍,Linux性能监控需要我们对底层要有一定的理解.下面我将会列出我常用的监控内存的工具. vmstat vmstat显示关于进 ...

  4. [Sass]命令编译

    [Sass]命令编译 命令编译是指使用你电脑中的命令终端,通过输入 Sass 指令来编译 Sass.这种编译方式是最直接也是最简单的一种方式.因为只需要在你的命令终端输入: 单文件编译: sass & ...

  5. 通过top命令发现plymouthd进程cpu负载达到近100% 解决办法

    最近几天一直遇到服务器cpu100%, 通过top命令发现plymouthd进程cpu负载达到近100% 解决方法:打开 /boot/grub/menu.lst , 去掉 “rhgb quiet”这两 ...

  6. 服务器进程为何通常fork()两次

    首先,要了解什么叫僵尸进程,什么叫孤儿进程,以及服务器进程运行所需要的一些条件.两次fork()就是为了解决这些相关的问题而出现的一种编程方法. 孤儿进程 孤儿进程是指父进程在子进程结束之前死亡(re ...

  7. Linux基础命令---top显示进程信息

    top top指令用来显示Linux的进程信息,这是一个动态显示的过程.top提供运行系统的动态实时视图.它可以显示系统摘要信息以及当前由Linux内核管理的任务列表.所显示的系统摘要信息的类型以及为 ...

  8. C语言Socket-模拟远程CMD(客户端向服务器发送命令,服务器执行该命令)

    服务端(server) #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.li ...

  9. linux 7z 命令编译安装,mac安装p7zip

    linux 7z 命令编译安装 7zip是一个开源的压缩软件  7z格式是压缩率最高的格式 服务器备份 数据几个g 要是tar压缩下载的话 时间太长  7zip压缩出来体积很小 首先安装 我这是 ce ...

随机推荐

  1. TreeMap/LinkedHashMap/HashMap按键排序和按值排序

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...

  2. Phonics 自然拼读法 g, o, u, l, f, b Teacher:Lamb

    课上内容(Lesson) Part I     Warm-up & Video  Food Fashion Fun  19 sets http://www.unsv.com/material/ ...

  3. Kotlin 随笔小计

    最近准备学Kotlin 现在Kotlin也能支持IOS开发了,准备后面买个Mac也能进行IOS开发 当然目标还是看着能不能把一些小的Android项目重构下 也算是定个目标吧,由于沉迷吃鸡,日志都没怎 ...

  4. Linux进程管理的学习

    uptime 简洁显示服务器负载 uptime 显示内核版本 uname -r dstat命令 cpu.内存.io等查看工具 dstat dstat --top-cpu dstat --top-io ...

  5. MySQL 8 配置文件

    包括功能: 端口,是否启用bin log , 指定目录, InnoDB是否启用压缩,MySQL使用旧的密码验证方式. 说明,建表的时候要添加必要的参数才会启用表数据压缩存储,以下为例: CREATE ...

  6. 判断PDF文件是否相同(通过二进制流判断)

    一.Java代码 1.将PDF转为字节流    /*     * @step     *  1.使用BufferedInputStream和FileInputStream从File指定的文件中读取内容 ...

  7. 有效的括号序列——算法面试刷题4(for google),考察stack

    给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列. 括号必须依照 "()" 顺序表示, & ...

  8. list map to map

    Map<String, Object> merged = lists.stream() .map(Map::entrySet) .flatMap(Set::stream) .collect ...

  9. java ssl 连接AD域

    1.安装证书服务和IIS服务,不需要启动asp.(其会在c盘生成一个crt文件)2.获取crt证书文件 windows 2003:文件位于系统盘根目录 windows 2008: 文件位于C:\Win ...

  10. 棋牌平台开发教程之扎金花大小比较算法在php中的实现

    PHP中扎金花比大小如何实现 在棋牌游戏中,不管是现实的还是线上的,扎金花无疑是最热门棋牌游戏之一,鄙人从小就酷爱扎金花,机缘巧合后面从事了IT行业,话不多说,直接进去正题吧. 扎金花两副牌的比较规则 ...