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

📄 ftconfig.h

📁 linux控件xml 搭建apache支持php openssl
💻 H
📖 第 1 页 / 共 2 页
字号:
#elif defined( __BORLANDC__ )  /* Borland C++ */  /* XXXX: We should probably check the value of __BORLANDC__ in order */  /*       to test the compiler version.                               */  /* this compiler provides the __int64 type */#define FT_LONG64#define FT_INT64  __int64#elif defined( __WATCOMC__ )   /* Watcom C++ */  /* Watcom doesn't provide 64-bit data types */#elif defined( __MWERKS__ )    /* Metrowerks CodeWarrior */#define FT_LONG64#define FT_INT64  long long int#elif defined( __GNUC__ )  /* GCC provides the `long long' type */#define FT_LONG64#define FT_INT64  long long int#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */  /*************************************************************************/  /*                                                                       */  /* A 64-bit data type will create compilation problems if you compile    */  /* in strict ANSI mode.  To avoid them, we disable its use if __STDC__   */  /* is defined.  You can however ignore this rule by defining the         */  /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro.                     */  /*                                                                       */#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )#ifdef __STDC__  /* undefine the 64-bit macros in strict ANSI compilation mode */#undef FT_LONG64#undef FT_INT64#endif /* __STDC__ */#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */#define FT_BEGIN_STMNT  do {#define FT_END_STMNT    } while ( 0 )#define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT#ifndef  FT_CONFIG_OPTION_NO_ASSEMBLER  /* Provide assembler fragments for performance-critical functions. */  /* These must be defined `static __inline__' with GCC.             */#ifdef __GNUC__#if defined( __arm__ ) && !defined( __thumb__ )#define FT_MULFIX_ASSEMBLER  FT_MulFix_arm  /* documentation is in freetype.h */  static __inline__ FT_Int32  FT_MulFix_arm( FT_Int32  a,                 FT_Int32  b )  {    register FT_Int32  t, t2;    asm __volatile__ (      "smull  %1, %2, %4, %3\n\t"   /* (lo=%1,hi=%2) = a*b */      "mov    %0, %2, asr #31\n\t"  /* %0  = (hi >> 31) */      "add    %0, %0, #0x8000\n\t"  /* %0 += 0x8000 */      "adds   %1, %1, %0\n\t"       /* %1 += %0 */      "adc    %2, %2, #0\n\t"       /* %2 += carry */      "mov    %0, %1, lsr #16\n\t"  /* %0  = %1 >> 16 */      "orr    %0, %2, lsl #16\n\t"  /* %0 |= %2 << 16 */      : "=r"(a), "=&r"(t2), "=&r"(t)      : "r"(a), "r"(b) );    return a;  }#endif /* __arm__ && !__thumb__ */#if defined( i386 )#define FT_MULFIX_ASSEMBLER  FT_MulFix_i386  /* documentation is in freetype.h */  static __inline__ FT_Int32  FT_MulFix_i386( FT_Int32  a,                  FT_Int32  b )  {    register FT_Int32  result;    __asm__ __volatile__ (      "imul  %%edx\n"      "movl  %%edx, %%ecx\n"      "sarl  $31, %%ecx\n"      "addl  $0x8000, %%ecx\n"      "addl  %%ecx, %%eax\n"      "adcl  $0, %%edx\n"      "shrl  $16, %%eax\n"      "shll  $16, %%edx\n"      "addl  %%edx, %%eax\n"      : "=a"(result), "+d"(b)      : "a"(a)      : "%ecx" );    return result;  }#endif /* i386 */#endif /* __GNUC__ */#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */#ifdef FT_CONFIG_OPTION_INLINE_MULFIX#ifdef FT_MULFIX_ASSEMBLER#define FT_MULFIX_INLINED  FT_MULFIX_ASSEMBLER#endif#endif#ifdef FT_MAKE_OPTION_SINGLE_OBJECT#define FT_LOCAL( x )      static  x#define FT_LOCAL_DEF( x )  static  x#else#ifdef __cplusplus#define FT_LOCAL( x )      extern "C"  x#define FT_LOCAL_DEF( x )  extern "C"  x#else#define FT_LOCAL( x )      extern  x#define FT_LOCAL_DEF( x )  x#endif#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */#ifndef FT_BASE#ifdef __cplusplus#define FT_BASE( x )  extern "C"  x#else#define FT_BASE( x )  extern  x#endif#endif /* !FT_BASE */#ifndef FT_BASE_DEF#ifdef __cplusplus#define FT_BASE_DEF( x )  x#else#define FT_BASE_DEF( x )  x#endif#endif /* !FT_BASE_DEF */#ifndef FT_EXPORT#ifdef __cplusplus#define FT_EXPORT( x )  extern "C"  x#else#define FT_EXPORT( x )  extern  x#endif#endif /* !FT_EXPORT */#ifndef FT_EXPORT_DEF#ifdef __cplusplus#define FT_EXPORT_DEF( x )  extern "C"  x#else#define FT_EXPORT_DEF( x )  extern  x#endif#endif /* !FT_EXPORT_DEF */#ifndef FT_EXPORT_VAR#ifdef __cplusplus#define FT_EXPORT_VAR( x )  extern "C"  x#else#define FT_EXPORT_VAR( x )  extern  x#endif#endif /* !FT_EXPORT_VAR */  /* The following macros are needed to compile the library with a   */  /* C++ compiler and with 16bit compilers.                          */  /*                                                                 */  /* This is special.  Within C++, you must specify `extern "C"' for */  /* functions which are used via function pointers, and you also    */  /* must do that for structures which contain function pointers to  */  /* assure C linkage -- it's not possible to have (local) anonymous */  /* functions which are accessed by (global) function pointers.     */  /*                                                                 */  /*                                                                 */  /* FT_CALLBACK_DEF is used to _define_ a callback function.        */  /*                                                                 */  /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */  /* contains pointers to callback functions.                        */  /*                                                                 */  /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable   */  /* that contains pointers to callback functions.                   */  /*                                                                 */  /*                                                                 */  /* Some 16bit compilers have to redefine these macros to insert    */  /* the infamous `_cdecl' or `__fastcall' declarations.             */  /*                                                                 */#ifndef FT_CALLBACK_DEF#ifdef __cplusplus#define FT_CALLBACK_DEF( x )  extern "C"  x#else#define FT_CALLBACK_DEF( x )  static  x#endif#endif /* FT_CALLBACK_DEF */#ifndef FT_CALLBACK_TABLE#ifdef __cplusplus#define FT_CALLBACK_TABLE      extern "C"#define FT_CALLBACK_TABLE_DEF  extern "C"#else#define FT_CALLBACK_TABLE      extern#define FT_CALLBACK_TABLE_DEF  /* nothing */#endif#endif /* FT_CALLBACK_TABLE */FT_END_HEADER#endif /* __FTCONFIG_H__ *//* END */

⌨️ 快捷键说明

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