城轨线网结构化数据接入系统-源程序_第1页
城轨线网结构化数据接入系统-源程序_第2页
城轨线网结构化数据接入系统-源程序_第3页
城轨线网结构化数据接入系统-源程序_第4页
城轨线网结构化数据接入系统-源程序_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/* 公用代码 */* Btype.h#ifndef BTYPE_H #define BTYPE_H/14.2.26-15:18,调试 ISCS 程序出错,针对 b_i64 无法识别添加的/14.2.26-15:18,调试 ISCS 程序出错,针对 b_i64 无法识别添加的/#define unix #define CPU_BITS 64#if defined(WIN32) | defined(_WIN32) | defined(_WIN32_) #define OS_WIN32_#endif#if defined hpux) #define OS_HPUX_ #endif#if defin

2、ed(_alpha) #define OS_TRU64_ #endif#if defined(_unix) | defined(_linux) #define OS_UNIX_#endif#if CPU_BITS != 32 & _CPU_BITS != 64/#error Must define macro CPU_BITS=32(64) #endiftypedef char b_i8;typedef unsigned char b_ui8; typedef b_i8 b_bool;typedef short b_i16;typedef unsigned short b_ui16; type

3、def unsigned short b_wchar; typedefb_i32;typedef unsignedb_ui32;#ifdef _OS_WIN32_typedef unsigned typedefsocklen_t;#else64U64;typedef unsigned long longU64;#endif#ifdef _OS_WIN32_typedef64 b_i64;typedef unsigned _ 64 b_ui64;#else#if _CPU_BITS=64typedef long b_i64;typedef unsigned long b_ui64; #elif

4、CPU_BITS=32typedef long long b_i64;typedef unsigned long long b_ui64; #endif#endiftypedef void* po er_type; typedef long po er_ ;typedef b_ui32 b_in4addr;#ifdef MAX_B_I8 #undef MAX_B_I8 #endif#define MAX_B_I8127#ifdef MAX_B_UI8 #undef MAX_B_UI8 #endif#define MAX_B_UI8255#ifdef MAX_B_I16 #undef MAX_B

5、_I16 #endif#define MAX_B_I1632767#ifdef MAX_B_UI16 #undef MAX_B_UI16 #endif#define MAX_B_UI16 65535#ifdef MAX_B_I32 #undef MAX_B_I32 #endif#define MAX_B_I32 2147483647#ifdef MAX_B_UI32 #undef MAX_B_UI32 #endif#define MAX_B_UI32#ifdef _OS_WIN32_ #define POER_SIZE 4#else#if _CPU_BITS=64#define POER_SI

6、ZE 8 #elif CPU_BITS=32#define POER_SIZE 4 #endif#endif#define b_true 1#define b_false 0 #define b_null (void*)0#ifdef _cplusplus #ifdef OS_WIN32_#define B_EXTERN extern C _declspec( dllexport ) #define B_EXPORT declspec( dllexport )#else#define B_EXTERN extern C #define B_EXPORT#endif #else#ifdef OS

7、_WIN32_#define B_EXTERN declspec( dllexport ) #define B_EXPORT declspec( dllexport )#else#define B_EXTERN #define B_EXPORT#endif #endif#ifndef B_LITTLE_ENDIAN #define B_LITTLE_ENDIAN 1 #endif#ifndef B_BIG_ENDIAN #define B_BIG_ENDIAN 2 #endif#ifdef _OS_WIN32_#define B_BYTE_ORDER B_LITTLE_ENDIAN#else#

8、ifdef OS_HPUX_#if _BIG_ENDIAN = 1#define B_BYTE_ORDER B_BIG_ENDIAN #elif _LITTLE_ENDIAN = 1#define B_BYTE_ORDER B_LITTLE_ENDIAN#else#if ia64 = 1#define B_BYTE_ORDER B_LITTLE_ENDIAN#else#include #endif#endif#else /ifdef _OS_HPUX_ #include #endifpat.h#ifndef B_BYTE_ORDER#if _BYTE_ORDER = LITTLE_ENDIAN

9、 | BYTE_ORDER = LITTLE_ENDIAN #define B_BYTE_ORDER B_LITTLE_ENDIAN#elif BYTE_ORDER = BIG_ENDIAN | BYTE_ORDER = BIG_ENDIAN#define B_BYTE_ORDER B_BIG_ENDIAN #else#error Dont know byte order #endif#endif#endif /ifdef OS_WIN32_#if B_BYTE_ORDER = B_LITTLE_ENDIAN#define FILL_BUFFER_DOUB do uffer, data)dou

10、ble temp_fbd_double = data;*(b_i8*)buffer) = *(b_i64*)& temp_fbd_double) 56;*(b_i8*)buffer + 1) = (*(b_i64*)& temp_fbd_double) 48) & 0 xff;*(b_i8*)buffer + 2) = (*(b_i64*)& temp_fbd_double) 40) & 0 xff;*(b_i8*)buffer + 3) = (*(b_i64*)& temp_fbd_double) 32) & 0 xff;*(b_i8*)buffer + 4) = (*(b_i64*)& t

11、emp_fbd_double) 24) & 0 xff;*(b_i8*)buffer + 5) = (*(b_i64*)& temp_fbd_double) 16) & 0 xff;*(b_i8*)buffer + 6) = (*(b_i64*)& temp_fbd_double) 8) & 0 xff;*(b_i8*)buffer + 7) = *(b_i64*)&_temp_fbd_double) & 0 xff; while(0)#define FILL_BUFFER_FLOAT(buffer, data) do float _temp_fbf_float = data;*(b_i8*)

12、buffer) = *(b_i32*)&temp_fbf_float) 24;*(b_i8*)buffer + 1) = (*(b_i32*)& temp_fbf_float) 16) & 0 xff;*(b_i8*)buffer + 2) = (*(b_i32*)& temp_fbf_float) 8) & 0 xff;*(b_i8*)buffer + 3) = *(b_i32*)&_temp_fbf_float) & 0 xff; while(0)#define FILL_BUFFER_I64(buffer, data) do b_i64 temp_fbi_i64 = data;*(b_i

13、8*)buffer) = *(b_i8*)& temp_fbi_i64 + 7);*(b_i8*)buffer + 1) = *(b_i8*)&_temp_fbi_i64 + 6);*(b_i8*)buffer + 2) = *(b_i8*)&_temp_fbi_i64 + 5);*(b_i8*)buffer + 3) = *(b_i8*)&_temp_fbi_i64 + 4);*(b_i8*)buffer + 4) = *(b_i8*)&_temp_fbi_i64 + 3);*(b_i8*)buffer + 5) = *(b_i8*)&_temp_fbi_i64 + 2);*(b_i8*)b

14、uffer + 6) = *(b_i8*)&_temp_fbi_i64 + 1);*(b_i8*)buffer + 7) = *(b_i8*)&_temp_fbi_i64); while(0)#define FILL_BUFFER_I32(buffer, data) do *(b_i8*)buffer) = (b_i32)data) 24;*(b_i8*)buffer + 1) = (b_i32)data) 16) & 0 xff;*(b_i8*)buffer + 2) = (b_i32)data) 8) & 0 xff;*(b_i8*)buffer + 3) = (b_i32)data) &

15、 0 xff; while(0)#define FILL_BUFFER_I16(buffer, data) do *(b_i8*)buffer) = (b_i16)data) 8;*(b_i8*)buffer + 1) = (b_i16)data) & 0 xff; while(0)#define FILL_LE_BUFFER_DOUB do uffer, data)double temp_fbd_double = data;*(b_i8*)buffer + 7) = *(b_i8*)&_temp_fbd_double + 7);*(b_i8*)buffer + 6) = *(b_i8*)&_

16、temp_fbd_double + 6);*(b_i8*)buffer + 5) = *(b_i8*)&_temp_fbd_double + 5);*(b_i8*)buffer + 4) = *(b_i8*)&_temp_fbd_double + 4);*(b_i8*)buffer + 3) = *(b_i8*)&_temp_fbd_double + 3);*(b_i8*)buffer + 2) = *(b_i8*)&_temp_fbd_double + 2);*(b_i8*)buffer + 1) = *(b_i8*)&_temp_fbd_double + 1);*(b_i8*)buffer

17、) = *(b_i8*)& temp_fbd_double); while(0)#define FILL_LE_BUFFER_FLOAT(buffer, data) do float _temp_fbf_float = data;*(b_i8*)buffer + 3) = *(b_i32*)&_temp_fbf_float) 24;*(b_i8*)buffer + 2) = (*(b_i32*)& temp_fbf_float) 16) & 0 xff;*(b_i8*)buffer + 1) = (*(b_i32*)& temp_fbf_float) 8) & 0 xff;*(b_i8*)bu

18、ffer) = *(b_i32*)& temp_fbf_float) & 0 xff; while(0)#define FILL_LE_BUFFER_I64(buffer, data) do b_i64 temp_fbi_i64 = data;*(b_i8*)buffer + 7) = *(b_i8*)&_temp_fbi_i64 + 7);*(b_i8*)buffer + 6) = *(b_i8*)&_temp_fbi_i64 + 6);*(b_i8*)buffer + 5) = *(b_i8*)&_temp_fbi_i64 + 5);*(b_i8*)buffer + 4) = *(b_i8

19、*)&_temp_fbi_i64 + 4);*(b_i8*)buffer + 3) = *(b_i8*)&_temp_fbi_i64 + 3);*(b_i8*)buffer + 2) = *(b_i8*)&_temp_fbi_i64 + 2);*(b_i8*)buffer + 1) = *(b_i8*)&_temp_fbi_i64 + 1);*(b_i8*)buffer) = *(b_i8*)& temp_fbi_i64); while(0)#define FILL_LE_BUFFER_I32(buffer, data) do *(b_i8*)buffer + 3) = (b_i32)data

20、) 24;*(b_i8*)buffer + 2) = (b_i32)data) 16) & 0 xff;*(b_i8*)buffer + 1) = (b_i32)data) 8) & 0 xff;*(b_i8*)buffer) = (b_i32)data) & 0 xff; while(0)#define FILL_LE_BUFFER_I16(buffer, data) do *(b_i8*)buffer + 1) = (b_i16)data) 8;*(b_i8*)buffer) = (b_i16)data) & 0 xff; while(0)#define GET_BUFFER_DOUB d

21、o uffer, data)double temp_gbd_double;*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbd_double) = *(b_i8*)buffer + 7); temp_gbd_double + 1) = *(b_i8*)buffer + 6); temp_gbd_double + 2) = *(b_i8*)buffer + 5); temp_gbd_double + 3) = *(b_i8*)buffer + 4); temp_gbd_double + 4

22、) = *(b_i8*)buffer + 3); temp_gbd_double + 5) = *(b_i8*)buffer + 2); temp_gbd_double + 6) = *(b_i8*)buffer + 1); temp_gbd_double + 7) = *(b_i8*)buffer);data = temp_gbd_double; while(0)#define GET_BUFFER_FLOAT(buffer, data) do b_i32 temp_gbf_i32;temp_gbf_i32 = (*(b_i8*)buffer) 24)(*(b_i8*)buffer + 1)

23、 16) & 0 xff0000) |(*(b_i8*)buffer + 2) 8) & 0 xff00) (*(b_i8*)buffer + 3) & 0 xff);data = *(float*)&_temp_gbf_i32); while(0)|#define GET_BUFFER_I64(buffer, data) do b_i64 temp_gbi_i64;*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbi_i64) = *(b_i8*)buffer + 7); temp_g

24、bi_i64 + 1) = *(b_i8*)buffer + 6); temp_gbi_i64 + 2) = *(b_i8*)buffer + 5); temp_gbi_i64 + 3) = *(b_i8*)buffer + 4); temp_gbi_i64 + 4) = *(b_i8*)buffer + 3); temp_gbi_i64 + 5) = *(b_i8*)buffer + 2); temp_gbi_i64 + 6) = *(b_i8*)buffer + 1); temp_gbi_i64 + 7) = *(b_i8*)buffer);data = temp_gbi_i64; whi

25、le(0)#define GET_BUFFER_I32(buffer, data) do data = (b_i32)(*(b_i8*)buffer) 24)(*(b_i8*)buffer + 1) 16) & 0 xff0000) |(*(b_i8*)buffer + 2) 8) & 0 xff00) (*(b_i8*)buffer + 3) & 0 xff);| while(0)#define GET_BUFFER_I16(buffer, data) do data = (b_i16)(*(b_i8*)buffer) 8)|(*(b_i8*)buffer + 1) & 0 xff); wh

26、ile(0)#define GET_LE_BUFFER_DOUBuffer, data) do double temp_gbd_double;*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbd_double) = *(b_i8*)buffer); temp_gbd_double + 1) = *(b_i8*)buffer + 1); temp_gbd_double + 2) = *(b_i8*)buffer + 2); temp_gbd_double + 3) = *(b_i8*)bu

27、ffer + 3); temp_gbd_double + 4) = *(b_i8*)buffer + 4); temp_gbd_double + 5) = *(b_i8*)buffer + 5); temp_gbd_double + 6) = *(b_i8*)buffer + 6); temp_gbd_double + 7) = *(b_i8*)buffer + 7);data = temp_gbd_double; while(0)#define GET_LE_BUFFER_FLOAT(buffer, data) do b_i32 temp_gbf_i32;temp_gbf_i32 = (*(

28、b_i8*)buffer + 3) 24)(*(b_i8*)buffer + 2) 16) & 0 xff0000) |(*(b_i8*)buffer + 1) 8) & 0 xff00) (*(b_i8*)buffer) & 0 xff);data = *(float*)&_temp_gbf_i32); while(0)|#define GET_LE_BUFFER_I64(buffer, data) do b_i64 temp_gbi_i64;*(b_i8*)& temp_gbi_i64) = *(b_i8*)buffer);*(b_i8*)& temp_gbi_i64 + 1) = *(b

29、_i8*)buffer + 1);*(b_i8*)& temp_gbi_i64 + 2) = *(b_i8*)buffer + 2);*(b_i8*)& temp_gbi_i64 + 3) = *(b_i8*)buffer + 3);*(b_i8*)& temp_gbi_i64 + 4) = *(b_i8*)buffer + 4);*(b_i8*)& temp_gbi_i64 + 5) = *(b_i8*)buffer + 5);*(b_i8*)& temp_gbi_i64 + 6) = *(b_i8*)buffer + 6);*(b_i8*)& temp_gbi_i64 + 7) = *(b

30、_i8*)buffer + 7); data = temp_gbi_i64; while(0)#define GET_LE_BUFFER_I32(buffer, data) do data = (b_i32)(*(b_i8*)buffer + 3) 24)|(*(b_i8*)buffer + 2) 16) & 0 xff0000) |(*(b_i8*)buffer + 1) 8) & 0 xff00) (*(b_i8*)buffer) & 0 xff);| while(0)#define GET_LE_BUFFER_I16(buffer, data) do data = (b_i16)(*(b

31、_i8*)buffer + 1) 8) |(*(b_i8*)buffer) & 0 xff); while(0) #else#define FILL_BUFFER_DOUB do uffer, data)double temp_fbd_double = data;*(b_i8*)buffer + 7) = *(b_i8*)&temp_fbd_double + 7);*(b_i8*)buffer + 6) = *(b_i8*)&temp_fbd_double + 6);*(b_i8*)buffer + 5) = *(b_i8*)&temp_fbd_double + 5);*(b_i8*)buff

32、er + 4) = *(b_i8*)&temp_fbd_double + 4);*(b_i8*)buffer + 3) = *(b_i8*)&temp_fbd_double + 3);*(b_i8*)buffer + 2) = *(b_i8*)&temp_fbd_double + 2);*(b_i8*)buffer + 1) = *(b_i8*)&temp_fbd_double + 1);*(b_i8*)buffer) = *(b_i8*)&temp_fbd_double); while(0)#define FILL_BUFFER_FLOAT(buffer, data) do float te

33、mp_fbf_float = data;*(b_i8*)buffer + 3) = *(b_i32*)&temp_fbf_float) & 0 xff;*(b_i8*)buffer + 2) = (*(b_i32*)&temp_fbf_float) 8) & 0 xff;*(b_i8*)buffer + 1) = (*(b_i32*)&temp_fbf_float) 16) & 0 xff;*(b_i8*)buffer) = *(b_i32*)&temp_fbf_float) 24; while(0)#define FILL_BUFFER_I64(buffer, data) do b_i64

34、temp_fbi_i64 = data;*(b_i8*)buffer + 7) = *(b_i8*)&temp_fbi_i64 + 7);*(b_i8*)buffer + 6) = *(b_i8*)&temp_fbi_i64 + 6);*(b_i8*)buffer + 5) = *(b_i8*)&temp_fbi_i64 + 5);*(b_i8*)buffer + 4) = *(b_i8*)&temp_fbi_i64 + 4);*(b_i8*)buffer + 3) = *(b_i8*)&temp_fbi_i64 + 3);*(b_i8*)buffer + 2) = *(b_i8*)&temp

35、_fbi_i64 + 2);*(b_i8*)buffer + 1) = *(b_i8*)&temp_fbi_i64 + 1);*(b_i8*)buffer) = *(b_i8*)&temp_fbi_i64); while(0)#define FILL_BUFFER_I32(buffer, data) do *(b_i8*)buffer + 3) = (b_i32)data) & 0 xff;*(b_i8*)buffer + 2) = (b_i32)data) 8) & 0 xff;*(b_i8*)buffer + 1) = (b_i32)data) 16) & 0 xff;*(b_i8*)bu

36、ffer) = (b_i32)data) 24); while(0)#define FILL_BUFFER_I16(buffer, data) do *(b_i8*)buffer + 1) = (b_i16)data) & 0 xff;*(b_i8*)buffer) = (b_i16)data) 8; while(0)#define FILL_LE_BUFFER_DOUB do uffer, data)double temp_fbd_double = data;*(b_i8*)buffer) = *(b_i8*)&temp_fbd_double + 7);*(b_i8*)buffer + 1)

37、 = *(b_i8*)&temp_fbd_double + 6);*(b_i8*)buffer + 2) = *(b_i8*)&temp_fbd_double + 5);*(b_i8*)buffer + 3) = *(b_i8*)&temp_fbd_double + 4);*(b_i8*)buffer + 4) = *(b_i8*)&temp_fbd_double + 3);*(b_i8*)buffer + 5) = *(b_i8*)&temp_fbd_double + 2);*(b_i8*)buffer + 6) = *(b_i8*)&temp_fbd_double + 1);*(b_i8*

38、)buffer + 7) = *(b_i8*)&temp_fbd_double); while(0)#define FILL_LE_BUFFER_FLOAT(buffer, data) do float temp_fbf_float = data;*(b_i8*)buffer) = *(b_i32*)&temp_fbf_float) & 0 xff;*(b_i8*)buffer + 1) = (*(b_i32*)&temp_fbf_float) 8) & 0 xff;*(b_i8*)buffer + 2) = (*(b_i32*)&temp_fbf_float) 16) & 0 xff;*(b

39、_i8*)buffer + 3) = *(b_i32*)&temp_fbf_float) 24; while(0)#define FILL_LE_BUFFER_I64(buffer, data) do b_i64 temp_fbi_i64 = data;*(b_i8*)buffer) = *(b_i8*)&temp_fbi_i64 + 7);*(b_i8*)buffer + 1) = *(b_i8*)&temp_fbi_i64 + 6);*(b_i8*)buffer + 2) = *(b_i8*)&temp_fbi_i64 + 5);*(b_i8*)buffer + 3) = *(b_i8*)

40、&temp_fbi_i64 + 4);*(b_i8*)buffer + 4) = *(b_i8*)&temp_fbi_i64 + 3);*(b_i8*)buffer + 5) = *(b_i8*)&temp_fbi_i64 + 2);*(b_i8*)buffer + 6) = *(b_i8*)&temp_fbi_i64 + 1);*(b_i8*)buffer + 7) = *(b_i8*)&temp_fbi_i64); while(0)#define FILL_LE_BUFFER_I32(buffer, data) do *(b_i8*)buffer) = (b_i32)data) & 0 x

41、ff;*(b_i8*)buffer + 1) = (b_i32)data) 8) & 0 xff;*(b_i8*)buffer + 2) = (b_i32)data) 16) & 0 xff;*(b_i8*)buffer + 3) = (b_i32)data) 24; while(0)#define FILL_LE_BUFFER_I16(buffer, data) do *(b_i8*)buffer) = (b_i16)data) & 0 xff;*(b_i8*)buffer + 1) = (b_i16)data) 24)(*(b_i8*)buffer + 1) 16) & 0 xff0000

42、) |(*(b_i8*)buffer + 2) 8) & 0 xff00) (*(b_i8*)buffer + 3) & 0 xff);data = *(float*)&_temp_gbf_i32); while(0)|#define GET_BUFFER_I64(buffer, data) do b_i64 temp_gbi_i64;*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbi_i64) = *(b_i8*)buffer + 7);temp_gbi_i64 + 1) = *(b

43、_i8*)buffer + 6); temp_gbi_i64 + 2) = *(b_i8*)buffer + 5); temp_gbi_i64 + 3) = *(b_i8*)buffer + 4); temp_gbi_i64 + 4) = *(b_i8*)buffer + 3); temp_gbi_i64 + 5) = *(b_i8*)buffer + 2); temp_gbi_i64 + 6) = *(b_i8*)buffer + 1); temp_gbi_i64 + 7) = *(b_i8*)buffer);data = temp_gbi_i64; while(0)#define GET_

44、BUFFER_I32(buffer, data) do data = (b_i32)(*(b_i8*)buffer) 24)(*(b_i8*)buffer + 1) 16) & 0 xff0000) |(*(b_i8*)buffer + 2) 8) & 0 xff00) (*(b_i8*)buffer + 3) & 0 xff);| while(0)#define GET_BUFFER_I16(buffer, data) do data = (b_i16)(*(b_i8*)buffer) 8)|(*(b_i8*)buffer + 1) & 0 xff); while(0)#define GET

45、_LE_BUFFER_DOUBuffer, data) do double temp_gbd_double;*(b_i8*)& temp_gbd_double) = *(b_i8*)buffer + 7);*(b_i8*)& temp_gbd_double + 1) = *(b_i8*)buffer + 6);*(b_i8*)& temp_gbd_double + 2) = *(b_i8*)buffer + 5);*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbd_double + 3) = *(b_i8*)buffer + 4); te

46、mp_gbd_double + 4) = *(b_i8*)buffer + 3); temp_gbd_double + 5) = *(b_i8*)buffer + 2); temp_gbd_double + 6) = *(b_i8*)buffer + 1); temp_gbd_double + 7) = *(b_i8*)buffer);data = temp_gbd_double; while(0)#define GET_LE_BUFFER_FLOAT(buffer, data) do b_i32 temp_gbf_i32;temp_gbf_i32 = (*(b_i8*)buffer + 3)

47、 24)(*(b_i8*)buffer + 2) 16) & 0 xff0000) |(*(b_i8*)buffer + 1) 8) & 0 xff00) (*(b_i8*)buffer) & 0 xff);data = *(float*)&_temp_gbf_i32); while(0)|#define GET_LE_BUFFER_I64(buffer, data) do b_i64 temp_gbi_i64;*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&*(b_i8*)&temp_gbi_i64) = *(b_

48、i8*)buffer + 7); temp_gbi_i64 + 1) = *(b_i8*)buffer + 6); temp_gbi_i64 + 2) = *(b_i8*)buffer + 5); temp_gbi_i64 + 3) = *(b_i8*)buffer + 4); temp_gbi_i64 + 4) = *(b_i8*)buffer + 3); temp_gbi_i64 + 5) = *(b_i8*)buffer + 2); temp_gbi_i64 + 6) = *(b_i8*)buffer + 1); temp_gbi_i64 + 7) = *(b_i8*)buffer);d

49、ata = temp_gbi_i64; while(0)#define GET_LE_BUFFER_I32(buffer, data) do data = (b_i32)(*(b_i8*)buffer + 3) 24)|(*(b_i8*)buffer + 2) 16) & 0 xff0000) |(*(b_i8*)buffer + 1) 8) & 0 xff00) (*(b_i8*)buffer) & 0 xff);| while(0)#define GET_LE_BUFFER_I16(buffer, data) do data = (b_i16)(*(b_i8*)buffer + 1) 8)

50、 |(*(b_i8*)buffer) & 0 xff); while(0) #endifextern b_i32 atoi32(char* str); extern b_i64 atoi64(char* str); extern void bsleep(b_i32 mills);extern po er_type bheap_alloc(b_i32 msize); extern void bheap_free(po er_type mem);extern po er_type bheap_realloc(po er_type old_mem, b_i32 new_msize);#endif*

51、DbOracle.h#ifndef _dboracle_ #define _dboracle_#include #include #include using namespace oracle:occi; using namespatd;class COraclepublic:COracle();bool connectDb(const std:string& usr=SYSTEM, const std:string& pwd=Cn123456 , const std:string&sid=33:1521/ORCL.LOCAL );bool executeSql(const std:strin

52、g& sql);void close(); virtual COracle();void clean();/ 处理游标的,之前查询数据库次错误的解决办法/Connection* my_conn; oracle:occi:ResultSet* rs;private :std:string oracle_usr; std:string oracle_pwd; std:string oracle_sid;oracle:occi:Connection* my_conn;oracle:occi:Environment* env; std:string oracle_sqlstr; oracle:occi

53、:S ement* stmt;#endif* DbOracle.cpp#include DbOracle.hCOracle:COracle()env=Environment:createEnvironment(Environment:DEFAULT);bool COracle: connectDb(const string& usr, const string& pwd, const string& sid)oracle_usr = usr; oracle_pwd = pwd; oracle_sid = sid;my_conn = env-createConnection(oracle_usr

54、, oracle_pwd, oracle_sid); if(my_conn = NULL)return false ;elsereturn true ;bool COracle:executeSql(const string& sql)trycout begin executesql createS ement(); oracle_sqlstr = sql;stmt-setSQL(oracle_sqlstr);/stmt-mit(TRUE);coutoracle_sqlstrexecuteQuery()/*if(rs-next()cout getString(1) endl;*/ return

55、 true ;elsecout 操作数据库出错! terminateS ement(stmt);catch(exception &e)/ throw execute failed;cerr exiting: e.what() terminateConnection(my_conn);void COracle:clean()stmt-closeResultSet(rs);my_conn-terminateS ement(stmt);COracle:COracle()Environment:terminateEnvironment(env);* Exception.h#ifndef FTPC NT

56、_FTPEXCEPTION_h #define FTPC NT_FTPEXCEPTION_h#ifdef WIN32#pragma warning(disable : 4786)/#ifdef FTPC NT_EXPORTS/#define FTPC NT_API _declspec(dllexport)/#else/#define FTPC NT_API _declspec(dllimport)/#endif/#else/#define FTPC NT_API #endif#include class CFtpExceptionpublic:typedef enumNO_CONNECTION

57、, CONNECTION_LOST, TCPIP_ERROR, SERVER_ERROR, LOCAL_ERROR, TIMEOUT_ERROR ExceptType; CFtpException(ExceptType s us,sysS us = 0,const char* operation = , const char* sysText = );CFtpException();ExceptType S us() const return(mS us); const char* S usText();SysS us() const return(mSysS us); const char*

58、 Operation() const return(mOperation); const char* SysText();s ic void SetInstance(void* instance) mhInstance = instance; CFtpException& operator=(const CFtpException& rhs); CFtpException(const CFtpException& exception);protected:ExceptType mS us;/ exception typemSysS us;/ operating system s us (whe

59、n applicable)char mOperation132; / operation being performedchar mSysText512;/ text asso ted with operating system s us s ic void* mhInstance;#endif* Modbus.cpp#include Modbus.hhandlerModbus(char (&Buf)12 ,CSocket *ConSocket)/cout enter modbus endl;/首地址/取地址个数,车站 id/应答报文_addr; num,S ion_id;char respo

60、nse260;_addr = (unsigned char)Buf8)*256 + (unsigned char)Buf9; num = (unsigned char)Buf10*256) + (unsigned char)Buf11;/cout num = num endl;/SysName = ChooseSys(Buf6); S ion_id = Buf6;/*pr fn,Buf7);pr f(The frist address is %fn,_addr); pr f(The number is %dn,num);cout The System Name is SysName endl;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论