⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cforthdf.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 5 页
字号:
#if defined(vmsFortran) || defined(CRAYFortran)#define JCF(TN,I)#else#define JCF(TN,I)    STR_##TN(1,J,B##I, 0,0,0)#define JLOGICAL( B)#define JPLOGICAL(B)#define JSTRING(  B) ,B.flen#define JPSTRING( B) ,B#define JSTRINGV     JSTRING#define JPSTRINGV    JSTRING#define JZTRINGV     JSTRING#define JPZTRINGV    JSTRING#endif#define WCF(TN,AN,I)   STR_##TN(2,W,AN,B##I, 0,0)#define WLOGICAL( A,B)#define WPLOGICAL(A,B) *B=F2CLOGICAL(*B);#define WSTRING(  A,B) (A[B.clen]!='\0'?A[B.clen]='\0':0); /* A?="constnt"*/#define WPSTRING( A,B) kill_trailing(A,' ');#ifdef vmsFortran#define WSTRINGV( A,B) free(B.dsc$a_pointer);#define WPSTRINGV(A,B)                                                         \  vkill_trailing(f2cstrv((char*)A, (char*)A,                                   \                           B.dsc$w_length+1, B.dsc$l_arsize+B.dsc$l_m[0]),     \                   B.dsc$w_length+1, B.dsc$l_arsize+B.dsc$l_m[0], ' ');#else#define WSTRINGV( A,B) free(B.s);#define WPSTRINGV(A,B) vkill_trailing(                                         \         f2cstrv((char*)A,(char*)A,B.flen+1,B.sizeofA), B.flen+1,B.sizeofA,' ');#endif#define WZTRINGV           WSTRINGV#define WPZTRINGV          WPSTRINGV#define   NCF(TN,I,C)  _SEP_(TN,C,COMMA) _INT(2,N,TN,A##I,0) #define  NNCF          UUCF#define NNNCF(TN,I,C)  _SEP_(TN,C,COLON) _INT(2,N,TN,A##I,0) #define NINT(       T,A) typeP##T##VVVVVVV * A#define NINTV(      T,A) typeP##T##VVVVVV  * A#define NINTVV(     T,A) typeP##T##VVVVV   * A#define NINTVVV(    T,A) typeP##T##VVVV    * A#define NINTVVVV(   T,A) typeP##T##VVV     * A#define NINTVVVVV(  T,A) typeP##T##VV      * A#define NINTVVVVVV( T,A) typeP##T##V       * A#define NINTVVVVVVV(T,A) typeP##T            * A#define NPINT(      T,A)  type##T##VVVVVVV * A#define NPVOID(     T,A) void *                  A#ifdef apolloFortran#define NROUTINE(   T,A) void (**A)()#else#define NROUTINE(   T,A) void ( *A)()#endif#ifdef vmsFortran#define NSTRING(    T,A) fstring *          A#define NSTRINGV(   T,A) fstringvector *    A#else#ifdef CRAYFortran#define NSTRING(    T,A) _fcd               A#define NSTRINGV(   T,A) _fcd               A#else#define NSTRING(    T,A) char *             A#define NSTRINGV(   T,A) char *             A#endif#endif#define NPSTRING(   T,A) NSTRING(T,A)   /* CRAY insists on arg.'s here. */#define NPNSTRING(  T,A) NSTRING(T,A)   /* CRAY insists on arg.'s here. */#define NPPSTRING(  T,A) NSTRING(T,A)   /* CRAY insists on arg.'s here. */#define NSTRVOID(    T,A) NSTRING(T,A)   /* CRAY insists on arg.'s here. */#define NPSTRINGV(  T,A) NSTRINGV(T,A)#define NZTRINGV(   T,A) NSTRINGV(T,A)#define NPZTRINGV(  T,A) NPSTRINGV(T,A)/* Note: Prevent compiler warnings, null #define PROTOCCALLSFSUB14/20 after    #include-ing cfortran.h if calling the FORTRAN wrapper within the same    source code where the wrapper is created. */#ifndef __CF__KnR#define PROTOCCALLSFSUB0(UN,LN)          extern void CFC_(UN,LN)();#define PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)     \ extern void CFC_(UN,LN)(NCF(T1,1,0) NCF(T2,2,1) NCF(T3,3,1) NCF(T4,4,1)       \ NCF(T5,5,1) NCF(T6,6,1) NCF(T7,7,1) NCF(T8,8,1) NCF(T9,9,1) NCF(TA,A,1)       \ NCF(TB,B,1) NCF(TC,C,1) NCF(TD,D,1) NCF(TE,E,1) ,...);#define PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)\ extern void CFC_(UN,LN)(NCF(T1,1,0) NCF(T2,2,1) NCF(T3,3,1) NCF(T4,4,1)       \ NCF(T5,5,1) NCF(T6,6,1) NCF(T7,7,1) NCF(T8,8,1) NCF(T9,9,1) NCF(TA,A,1)       \ NCF(TB,B,1) NCF(TC,C,1) NCF(TD,D,1) NCF(TE,E,1) NCF(TF,F,1) NCF(TG,G,1)       \ NCF(TH,H,1) NCF(TI,I,1) NCF(TJ,J,1) NCF(TK,K,1) ,...);#else#define PROTOCCALLSFSUB0( UN,LN)#define PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)#define PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)#endif#ifdef OLD_VAXC                                  /* Allow %CC-I-PARAMNOTUSED. */#pragma standard#endif/* do{...}while(FALSE) allows if(a==b) FORT(); else BORT(); */#define CCALLSFSUB0(UN,LN) \ do{PROTOCCALLSFSUB0(UN,LN) CFC_(UN,LN)();}while(FALSE)#define CCALLSFSUB1( UN,LN,T1,                        A1)         \        CCALLSFSUB5 (UN,LN,T1,CF_0,CF_0,CF_0,CF_0,A1,0,0,0,0)#define CCALLSFSUB2( UN,LN,T1,T2,                     A1,A2)      \        CCALLSFSUB5 (UN,LN,T1,T2,CF_0,CF_0,CF_0,A1,A2,0,0,0)#define CCALLSFSUB3( UN,LN,T1,T2,T3,                  A1,A2,A3)   \        CCALLSFSUB5 (UN,LN,T1,T2,T3,CF_0,CF_0,A1,A2,A3,0,0)#define CCALLSFSUB4( UN,LN,T1,T2,T3,T4,               A1,A2,A3,A4)\        CCALLSFSUB5 (UN,LN,T1,T2,T3,T4,CF_0,A1,A2,A3,A4,0)#define CCALLSFSUB5( UN,LN,T1,T2,T3,T4,T5,            A1,A2,A3,A4,A5)          \        CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,0,0,0,0,0)#define CCALLSFSUB6( UN,LN,T1,T2,T3,T4,T5,T6,         A1,A2,A3,A4,A5,A6)       \        CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,0,0,0,0)#define CCALLSFSUB7( UN,LN,T1,T2,T3,T4,T5,T6,T7,      A1,A2,A3,A4,A5,A6,A7)    \        CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,0,0,0)#define CCALLSFSUB8( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,   A1,A2,A3,A4,A5,A6,A7,A8) \        CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,0,0)#define CCALLSFSUB9( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,A1,A2,A3,A4,A5,A6,A7,A8,A9)\        CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,0)#define CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA)\        CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,0,0,0,0)#define CCALLSFSUB11(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB)\        CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,0,0,0)#define CCALLSFSUB12(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC)\        CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,0,0)#define CCALLSFSUB13(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD)\        CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,0)#define CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE)\do{VVCF(T1,A1,B1) VVCF(T2,A2,B2) VVCF(T3,A3,B3) VVCF(T4,A4,B4) VVCF(T5,A5,B5)  \   VVCF(T6,A6,B6) VVCF(T7,A7,B7) VVCF(T8,A8,B8) VVCF(T9,A9,B9) VVCF(TA,AA,BA)  \   VVCF(TB,AB,BB) VVCF(TC,AC,BC) VVCF(TD,AD,BD) VVCF(TE,AE,BE)                 \   PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)          \   ACF(LN,T1,A1,1) ACF(LN,T2,A2,2) ACF(LN,T3,A3,3)                             \   ACF(LN,T4,A4,4) ACF(LN,T5,A5,5) ACF(LN,T6,A6,6) ACF(LN,T7,A7,7)             \   ACF(LN,T8,A8,8) ACF(LN,T9,A9,9) ACF(LN,TA,AA,A) ACF(LN,TB,AB,B)             \   ACF(LN,TC,AC,C) ACF(LN,TD,AD,D) ACF(LN,TE,AE,E)                             \   CFC_(UN,LN)(AACF(T1,A1,1,0) AACF(T2,A2,2,1) AACF(T3,A3,3,1)                 \               AACF(T4,A4,4,1) AACF(T5,A5,5,1) AACF(T6,A6,6,1) AACF(T7,A7,7,1) \               AACF(T8,A8,8,1) AACF(T9,A9,9,1) AACF(TA,AA,A,1) AACF(TB,AB,B,1) \               AACF(TC,AC,C,1) AACF(TD,AD,D,1) AACF(TE,AE,E,1)                 \      JCF(T1,1) JCF(T2,2) JCF(T3,3) JCF(T4,4) JCF(T5,5) JCF(T6,6) JCF(T7,7)    \      JCF(T8,8) JCF(T9,9) JCF(TA,A) JCF(TB,B) JCF(TC,C) JCF(TD,D) JCF(TE,E)  );\   WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5)            \   WCF(T6,A6,6) WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,AA,A)            \   WCF(TB,AB,B) WCF(TC,AC,C) WCF(TD,AD,D) WCF(TE,AE,E)             }while(FALSE)/* Apollo 6.7, CRAY, Sun, VAX/Ultrix vcc/cc and HP can't hack more than 31 arg's */#if !(defined(VAXUltrix)&&!defined(__GNUC__)) && !defined(__CF__APOLLO67) && !defined(sun) && !defined(__hpux) && !defined(_CRAY)#define CCALLSFSUB15(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF)\        CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,0,0,0,0,0)#define CCALLSFSUB16(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG)\        CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,0,0,0,0)#define CCALLSFSUB17(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH)\        CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,0,0,0)#define CCALLSFSUB18(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI)\        CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,0,0)#define CCALLSFSUB19(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ)\        CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,0)/* PROTOCCALLSFSUB20 is commented out, because it chokes the VAX VMS compiler.   It isn't required since we so far only pass pointers and integers to    FORTRAN routines and these arg.'s aren't promoted to anything else.        */#define CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH, \        TI,TJ,TK, A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) \do{VVCF(T1,A1,B1) VVCF(T2,A2,B2) VVCF(T3,A3,B3) VVCF(T4,A4,B4) VVCF(T5,A5,B5)  \   VVCF(T6,A6,B6) VVCF(T7,A7,B7) VVCF(T8,A8,B8) VVCF(T9,A9,B9) VVCF(TA,AA,BA)  \   VVCF(TB,AB,BB) VVCF(TC,AC,BC) VVCF(TD,AD,BD) VVCF(TE,AE,BE) VVCF(TF,AF,BF)  \   VVCF(TG,AG,BG) VVCF(TH,AH,BH) VVCF(TI,AI,BI) VVCF(TJ,AJ,BJ) VVCF(TK,AK,BK)  \/*   PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)*/\   ACF(LN,T1,A1,1) ACF(LN,T2,A2,2) ACF(LN,T3,A3,3) ACF(LN,T4,A4,4)             \   ACF(LN,T5,A5,5) ACF(LN,T6,A6,6) ACF(LN,T7,A7,7) ACF(LN,T8,A8,8)             \   ACF(LN,T9,A9,9) ACF(LN,TA,AA,A) ACF(LN,TB,AB,B) ACF(LN,TC,AC,C)             \   ACF(LN,TD,AD,D) ACF(LN,TE,AE,E) ACF(LN,TF,AF,F) ACF(LN,TG,AG,G)             \   ACF(LN,TH,AH,H) ACF(LN,TI,AI,I) ACF(LN,TJ,AJ,J) ACF(LN,TK,AK,K)             \   CFC_(UN,LN)(AACF(T1,A1,1,0) AACF(T2,A2,2,1) AACF(T3,A3,3,1) AACF(T4,A4,4,1) \               AACF(T5,A5,5,1) AACF(T6,A6,6,1) AACF(T7,A7,7,1) AACF(T8,A8,8,1) \               AACF(T9,A9,9,1) AACF(TA,AA,A,1) AACF(TB,AB,B,1) AACF(TC,AC,C,1) \               AACF(TD,AD,D,1) AACF(TE,AE,E,1) AACF(TF,AF,F,1) AACF(TG,AG,G,1) \               AACF(TH,AH,H,1) AACF(TI,AI,I,1) AACF(TJ,AJ,J,1) AACF(TK,AK,K,1) \      JCF(T1,1) JCF(T2,2) JCF(T3,3) JCF(T4,4) JCF(T5,5) JCF(T6,6) JCF(T7,7)    \      JCF(T8,8) JCF(T9,9) JCF(TA,A) JCF(TB,B) JCF(TC,C) JCF(TD,D) JCF(TE,E)    \      JCF(TF,F) JCF(TG,G) JCF(TH,H) JCF(TI,I) JCF(TJ,J) JCF(TK,K)          );  \ WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) WCF(T6,A6,6) \ WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,AA,A) WCF(TB,AB,B) WCF(TC,AC,C) \ WCF(TD,AD,D) WCF(TE,AE,E) WCF(TF,AF,F) WCF(TG,AG,G) WCF(TH,AH,H) WCF(TI,AI,I) \ WCF(TJ,AJ,J) WCF(TK,AK,K) }while(FALSE)#endif         /* Apollo 6.7, CRAY, Sun and HP can't hack more than 31 arg.'s *//*-------------------------------------------------------------------------*//*               UTILITIES FOR C TO CALL FORTRAN FUNCTIONS                 *//*N.B. PROTOCCALLSFFUNn(..) generates code, whether or not the FORTRAN  function is called. Therefore, especially for creator's of C header files  for large FORTRAN libraries which include many functions, to reduce  compile time and object code size, it may be desirable to create  preprocessor directives to allow users to create code for only those  functions which they use.                                                *//* The following defines the maximum length string that a function can return.   Of course it may be undefine-d and re-define-d before individual   PROTOCCALLSFFUNn(..) as required. It would also be nice to have this derived   from the individual machines' limits.                                      */#define MAX_LEN_FORTRAN_FUNCTION_STRING 0x4FE/* The following defines a character used by CFORTRAN.H to flag the end of a   string coming out of a FORTRAN routine.                                 */#define CFORTRAN_NON_CHAR 0x7F#ifdef OLD_VAXC                                /* Prevent %CC-I-PARAMNOTUSED. */#pragma nostandard#endif#define _SEP_(TN,C,COMMA) __SEP_##C(TN,COMMA)#define __SEP_0(TN,COMMA)  #define __SEP_1(TN,COMMA)  _INT(2,SEP_,TN,COMMA,0)#define SEP_INT(T,B)   A##B#define SEP_INTV       SEP_INT#define SEP_INTVV      SEP_INT#define SEP_INTVVV     SEP_INT#define SEP_INTVVVV    SEP_INT#define SEP_INTVVVVV   SEP_INT#define SEP_INTVVVVVV  SEP_INT#define SEP_INTVVVVVVV SEP_INT#define SEP_PINT       SEP_INT#define SEP_PVOID      SEP_INT#define SEP_ROUTINE    SEP_INT#define SEP_SIMPLE     SEP_INT#define SEP_VOID       SEP_INT    /* Need for FORTRAN calls to C subroutines. */#define SEP_STRING     SEP_INT#define SEP_STRINGV    SEP_INT#define SEP_PSTRING    SEP_INT#define SEP_PSTRINGV   SEP_INT#define SEP_PNSTRING   SEP_INT#define SEP_PPSTRING   SEP_INT#define SEP_STRVOID     SEP_INT#define SEP_ZTRINGV    SEP_INT#define SEP_PZTRINGV   SEP_INT                         #if defined(SIGNED_BYTE) || !defined(UNSIGNED_BYTE)#ifdef OLD_VAXC#define INTEGER_BYTE               char    /* Old VAXC barfs on 'signed char' */#else#define INTEGER_BYTE        signed char    /* default */#endif#else#define INTEGER_BYTE        unsigned char#endif#define    typePBYTEVVVVVVV INTEGER_BYTE#define  typePDOUBLEVVVVVVV DOUBLE_PRECISION #define   typePFLOATVVVVVVV float#define     typePINTVVVVVVV int#define typePLOGICALVVVVVVV int#define    typePLONGVVVVVVV long#define   typePSHORTVVVVVVV short#define CFARGS0(A,T,W,X,Y,Z) A##T#define CFARGS1(A,T,W,X,Y,Z) A##T(W)#define CFARGS2(A,T,W,X,Y,Z) A##T(W,X)#define CFARGS3(A,T,W,X,Y,Z) A##T(W,X,Y)#define CFARGS4(A,T,W,X,Y,Z) A##T(W,X,Y,Z)#define _INT(N,T,I,Y,Z)              INT_##I(N,T,I,Y,Z)#define INT_BYTE                     INT_DOUBLE#define INT_DOUBLE(       N,A,B,Y,Z) CFARGS##N(A,INT,B,Y,Z,0)#define INT_FLOAT                    INT_DOUBLE#define INT_INT                      INT_DOUBLE#define INT_LOGICAL                  INT_DOUBLE#define INT_LONG                     INT_DOUBLE#define INT_SHORT                    INT_DOUBLE#define INT_PBYTE                    INT_PDOUBLE#define INT_PDOUBLE(      N,A,B,Y,Z) CFARGS##N(A,PINT,B,Y,Z,0)#define INT_PFLOAT                   INT_PDOUBLE#define INT_PINT                     INT_PDOUBLE#define INT_PLOGICAL                 INT_PDOUBLE#define INT_PLONG                    INT_PDOUBLE#define INT_PSHORT                   INT_PDOUBLE#define INT_BYTEV                    INT_DOUBLEV#define INT_BYTEVV                   INT_DOUBLEVV

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -