tuxedo tpcall 返回6 的问题


   


tuxedo tpcall 返回6 的问题_第1张图片单域模式
基于上图中介绍,tuxedo在一个环境通信在两种方式。
SHM模式,对应的客户端与服务端肯定在同一台主机当中。
MP模式,客户端与服务端跨越主机调用。这种情况在实际实用当中是比较多。

同时tuxedo设计了buildclient与buildserver两个编译工具分别编译客户端与服务端。

问题来了,如果的客户端中tuxedo的服务调用是封装到库中,应用程序再通过加载库与客户端编译。此时你的编译器
为能再选择buildclient,而是cc或者 gcc。那么我们怎么实现以前的 ?

SHM模式      buildclient -o simpcl -f simpcl.c
MP模式          buildclient -o simpcl -w -f simpcl.c

这个问题扎实困扰了我一段时间。
后来无意从度娘 那里知道可以用
tuxedo@hrxjserver tpcall]$ buildclient -v
cc   -I$TUXDIR/include -o a.out   -L${TUXDIR}/lib  -ltux -lbuft  -lfml -lfml32 -lengine  -ldl -lpthread 
/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
CMDTUX_CAT:512: ERROR: Cannot execute C compiler cc   -I$TUXDIR/include -o a.out   -L${TUXDIR}/lib  -ltux -lbuft  -lfml -lfml32 -lengine  -ldl -lpthread 


[tuxedo@hrxjserver tpcall]$ buildclient -v -w
cc   -I$TUXDIR/include -o a.out   -L${TUXDIR}/lib  -lwsc -lbuft -lwsc  -lgpnet  -lfml -lfml32 -lengine  -ldl -lpthread 
/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
CMDTUX_CAT:512: ERROR: Cannot execute C compiler cc   -I$TUXDIR/include -o a.out   -L${TUXDIR}/lib  -lwsc -lbuft -lwsc  -lgpnet  -lfml -lfml32 -lengine  -ldl -lpthread 
[tuxedo@hrxjserver tpcall]$

相信大家都看出来了。cc 编译网络程序加载的库为 
MP模式  -L${TUXDIR}/lib  -lwsc -lbuft -lwsc  -lgpnet  -lfml -lfml32 -lengine  -ldl -lpthread 
SHM模式:   -I$TUXDIR/include -o a.out   -L${TUXDIR}/lib  -ltux -lbuft  -lfml -lfml32 -lengine  -ldl -lpthread 

你可能感兴趣的:(tuxedo tpcall 返回6 的问题)