国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Tuxedo數(shù)據(jù)buffer基本類型介紹
一、 課程目標(biāo)
通過本課程學(xué)習(xí),你可以掌握如下知識:
掌握tuxedo中STRING類型buffer的用途
掌握tuxedo中CARRAY類型buffer的用途
掌握tuxedo中FML(FML32)類型buffer的用途
掌握tuxedo中VIEW(VIEW32)類型buffer的用途
注:后續(xù)的課程將介紹Tuxedo新增的數(shù)據(jù)類型:EFML(Embedded Record in FML)、XML Buffer
二、 String類型buffer介紹
(1)STRING類型buffer簡介
STRING類型buffer是主要用于面向行、變長度的文本信息類型buffer。STRING類型buffer要求必須以NULL作為結(jié)束符的。如果系統(tǒng)采用STRING類型,那么在配置ubbconfig文件時(shí),必須在*MACHINE部分配置TYPE,指明buffer類型為STRING類型。在兩種不同類型架構(gòu)的機(jī)器進(jìn)行buffer傳輸時(shí)候,TUXEDO對STRING類型buffer進(jìn)行加碼、解碼過程。無論系統(tǒng)申請了多少長度的buffer,系統(tǒng)自動(dòng)按著NULL所在的位置決定STRING類型的buffer長度。
(2)STRING類型buffer如何申請
char *SndBuf;
SndBuf = (char *) tpalloc("STRING",NULL,1024)
(3)STRING類型使用方法和調(diào)用方法
strcpy(SndBuf,"Bea Tuxedo");
tpcall("TOUPPER",SndBuf,0,&RcvBuf,&len,0);
三、 CARRAY類型buffer介紹
(1)CARRAY類型buffer簡介
CARRAY類型buffer是一種獨(dú)立于機(jī)器的buffer類型。用戶在使用時(shí)必須指定CARRAY類型數(shù)據(jù)的長度,CARRAY類型數(shù)據(jù)可以包含NULL字符。CARRAY類型數(shù)據(jù)不需要加、解碼過程。CARRAY類型數(shù)據(jù)可以用來傳輸漢字、二進(jìn)制數(shù)據(jù)、文件、圖形等。CARRAY類型可以作為FML(FML32)、VIEW(VIEW32)的數(shù)據(jù)類型子項(xiàng)buffer。
(2)CARRAY類型buffer如何申請
tpalloc("CARRAY",NULL,1024*2)
(3)CARRAY類型使用方法和調(diào)用方法
四、 VIEW(VIEW32)類型buffer介紹
(1)VIEW類型buffer簡介
Tuxedo使用VIEW類型buffer處理類似C語言的結(jié)構(gòu)等數(shù)據(jù)類型復(fù)雜數(shù)據(jù)。使用VIEW類型buffer可以將各數(shù)據(jù)元素與一種結(jié)構(gòu)數(shù)據(jù)類型結(jié)合,通過結(jié)構(gòu)就可以訪問各數(shù)據(jù)元素。VIEW類型數(shù)據(jù)即使沒有沒有數(shù)據(jù)也占用空間,結(jié)構(gòu)發(fā)生變化,需要重新編譯程序。
注明:(VIEW類型buffer是16位尋址的,VIEW32是32位尋址的.)
(2)VIEW類型buffer使用方法
使用VIEW類型數(shù)據(jù)步驟:
建立VIEW文件
設(shè)置環(huán)境變量
編譯VIEW文件
在代碼中包含VIEW頭文件,在程序中使用VIEW結(jié)構(gòu)及API函數(shù)
編譯程序
運(yùn)行程序
(1)建立VIEW文件
VIEW user
* VIEW structure for user information */
#type   cname   fbname  count flag size null
long    count COUNT 1      -    -  “”    0
float   sumfee  SUMFEE   1      -    -     0.0
string  usrname USRNAME 1      -    80   “”
short   num      NUM      1      -    -     0
END
(2)設(shè)置環(huán)境變量
/* view文件存放路徑,使用冒號分割(NT用分號)*/
VIEWDIR=/inc
/* 用逗號分割的二進(jìn)制view文件 */
VIEWFILES=user.V
export VIEWDIR VIEWFILES
(3)編譯VIEW文件
使用viewc(viewc32)編譯view文件
-n user.v
view命令簡介:
viewc [-n] [-d viewdir] viewfile [viewfile ...]
或者:
viewc32 [-n] [-d viewdir] viewfile [viewfile ...]
[-d viewdir]:指定輸出文件的路徑(默認(rèn)在當(dāng)前目錄下)
[-n]:指定在編譯view結(jié)構(gòu)類型數(shù)據(jù)不產(chǎn)生FML buffer數(shù)據(jù)結(jié)構(gòu)
(4)view編譯后生成的頭文件
struct user {
/* VIEW structure for user information */
long      count;
float     sumfee;
char      usrname[80];
short  num;
};
(5)VIEW類型buffer的使用
struct user *pszUser;
pszUser=(struct user *)tpalloc("VIEW"," user",sizeof(user));
…………………
pszUser ->count = 1680;
pszUser ->sumfee = 198.96;
strcpy(pszUser->usrname,"Wsy");
pszUser->num = 160;
…………………
tpcall("PSVC",(char *)pszUser,0,(char **)&pszUser,&rcvlen,0);
…………………
五、 FML(FML32)類型buffer介紹
(1)VIEW類型buffer簡介
FML類型buffer允許存取多個(gè)命名的字段。例如:(NAME: "BEA",ADDRESS "China Beijing",PHONE "010-85281188")。每一個(gè)命名的字段可以在buffer中存放零個(gè)或更多個(gè)(occurrences)的值.
注明:(FML類型buffer是16位尋址的,FML32是32位尋址的.)
(2)FML支持的數(shù)據(jù)類型:
Short
Char
Long
Float
Double
String
Carray
(3)FML類型buffer使用方法
使用FML類型數(shù)據(jù)步驟:
建立FML文件
設(shè)置環(huán)境變量
編譯FML文件
在代碼中包含F(xiàn)ML頭文件,在程序中使用FML API函數(shù)
編譯程序
運(yùn)行程序
(1)建立FML Field Table文件
*base 1000
# name   number type flags comments
COUNT    1        long    -   -
SUMFEE   2        float   -  -
USRNAME  3        string -   -
NUM       4        short  -   -
(2)設(shè)置環(huán)境變量
set FLDTBLDIR32="c: uxedowsy"
set FIELDTBLS32=user.fld
其中:
FLDTBLDIR(FLDTBLDIR32):指明Field Table文件的名字,多個(gè)用逗號分割
FIELDTBLS (FIELDTBLS32):Filed Table文件的所在路徑,多個(gè)用冒號分割,在WinNT系統(tǒng)中使用分號分割.
(3)編譯FML Field Table文件
使用mkfldhdr(mkfldhdr32)編譯Field Table文件
user.fld
(4)FML Field Table編譯后生成的頭文件
/*  fname   fldid            */
/*  -----   -----            */
#define COUNT   ((FLDID32)33555433) /* number: 1001 type: long */
#define SUMFEE  ((FLDID32)100664298)/* number: 1002 type: float */
#define USRNAME ((FLDID32)167773163)/* number: 1003 type: string */
#define NUM ((FLDID32)1004) /* number: 1004 type: short */
(5)FML類型buffer的使用
FBFR32 *SndBuf;
SndBuf = (FBFR32 *)tpalloc("FML32",NULL,1024);
…………………
lCount = 1680;
Fchg32(SndBuf, COUNT,0,(char *)&lCount ,0);
fSumFee = 198.96;
Fchg32(SndBuf, SUMFEE, (char *)&fSumFee,0);
Strcpy(sUsrName , "wsy");
Fchg32(SndBuf, USRNAME, (char *)sUsrName,0);
iNum = 160;
Fchg32(SndBuf, SUMFEE, (char *)&iNum,0);
…………………
tpcall("PSVC",(char *) SndBuf,0,(char **)& SndBuf,&rcvlen,0);
Fget32(SndBuf, COUNT,0, (char *)&lCount ,0);
Fget32(SndBuf, USRNAME,0, (char *)sUsrName,0);
…………………
注:FML和VIEW類型buffer的API函數(shù)在后續(xù)的文章有詳細(xì)的介紹和代碼分析.
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【原創(chuàng)】(C#)字符串倒序的5種方法
ctypes 使用方法與說明
Java本地調(diào)用JNI使用規(guī)范詳解
WCHAR,CHAR,TCHAR的區(qū)別
C 避坑指南
java中文件操作大全
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服