Foxit PDF SDK

fx_system.h 文件参考

系统相关定义的头文件。 更多...

浏览源代码.

## 宏定义
操作系统定义
#define | _CRT_SECURE_NO_WARNINGS
| 禁用CRT中的安全增强功能
#define | _FX_ANDROID_ 12
| Android
#define | _FX_EMBEDDED_ 8
| 嵌入式操作系统
#define | _FX_IOS_ 15
| IOS
#define | _FX_LINUX_DESKTOP_ 4
| Linux 桌面操作系统
#define | _FX_LINUX_EMBEDDED_ 5
| 嵌入式Linux操作系统
#define | _FX_MACOSX_ 7
| MAC OS X
#define | _FX_MTK_ 14
| Media Tech
#define | _FX_NETBSD_ 11
| NetBSD
#define | _FX_PALMOS_ 10
| PalmOS（5.0或更高版本）
#define | _FX_SOLARIS_ 9
| Solaris 8或更高版本
#define | _FX_SYMBIAN_ 6
| Symbian操作系统（从7.0开始）
#define | _FX_VXWORKS_ 13
| VxWorks
#define | _FX_WIN32_DESKTOP_ 1
| Windows 桌面操作系统（从Windows 95开始）
#define | _FX_WIN32_MOBILE_ 2
| Windows Mobile 操作系统（从Windows CE 4.0开始）
#define | _FX_WIN64_ 3
| Windows 64位
#define | _FX_WINAPI_PARTITION_DESKTOP_
#define | _FXM_PLATFORM_ _FXM_PLATFORM_WINDOWS_
#define | _FXM_PLATFORM_ANDROID_ 4
| Android操作系统平台。
#define | _FXM_PLATFORM_APPLE_ 3
| Apple操作系统平台。
#define | _FXM_PLATFORM_LINUX_ 2
| Linux操作系统平台。
#define | _FXM_PLATFORM_WINDOWS_ 1
| Windows操作系统平台。
#define | NOMINMAX
编译器定义
#define | _FX_ADS_ 5
| ADS 1.2 编译器
#define | _FX_GCC_ 4
| GNU C++ 编译器
#define | _FX_IARCC_ 7
| IAR C/C++ 编译器
#define | _FX_METROWERKS_ 9
| Metrowerks C/C++ 编译器（使用MSL）
#define | _FX_MIPS_SDE_ 12
| MIPS SDE
#define | _FX_NOKIA_X86_ 8
| Nokia X86 编译器
#define | _FX_PACC_ 10
| Protein C/C++ 编译器（PalmOS使用）
#define | _FX_RVCT_ 6
| RVCT 2.1 编译器
#define | _FX_TMS470_ 11
| TMS470
#define | _FX_VC6_ 1
| Microsoft Visual C++ 6.0
#define | _FX_VC7_ 2
| Microsoft Visual Studio.Net 2003
#define | _FX_VC8_ 3
| Microsoft Visual Studio.Net 2005
CPU定义
#define | _FX_ARM64_ 8
| ARM64
#define | _FX_ARM_ 2
| ARM
#define | _FX_IA64_ 5
| IA64
#define | _FX_LOONGARCH64_ 10
| Loongarch64
#define | _FX_MIPS64_ 9
| MIPS64
#define | _FX_MIPS_ 6
| MIPS
#define | _FX_POWERPC_ 3
| Power PC
#define | _FX_SPARC_ 4
| Sparc
#define | _FX_X64_ 7
| 64位x86 CPU
#define | _FX_X86_ 1
| 32位x86 CPU
字长定义
#define | _FX_W32_ 1
| 32位指令
#define | _FX_W64_ 2
| 64位指令
#define | _FX_WORDSIZE_ _FX_W32_
字节序定义
#define | _FX_BIG_ENDIAN_ 1
| 大端序
#define | _FX_ENDIAN_
| 当前字节序。 更多...
#define | _FX_LITTLE_ENDIAN_ 2
| 小端序
#define | GetFullPathName
| 获取指定文件的完整路径和文件名。GetFullPathNameW为Unicode模式定义， GetFullPathNameA为ANSI模式定义。
#define | GetModuleFileName
| 获取指定模块的完全限定路径。GetModuleFileNameW为Unicode模式定义， GetModuleFileNameA为ANSI模式定义。
目标定义
#define | _FPDF_STREAM_RENDER_
#define | _FX_BREW_ 1
| Brew SDK
#define | _FX_DEFAULT_TARGET_ 0
| 默认SDK信息
#define | _FX_ENABLE_OVERPRINT_
#define | _FX_JPEG_TURBO_
#define | _FX_LARGEFILE_SUPPORT_
#define | _FX_NO_OPENSSL_
#define | _FXM_SIMD_
#define | WITH_SIMD
字节字符串操作
#define | FXSYS_snprintf
| 将格式化数据写入ANSIC字符串，带最大长度。
#define | FXSYS_sprintf
| 将格式化数据写入ANSIC字符串。
#define | FXSYS_strchr
| 在ANSIC字符串中查找字符。
#define | FXSYS_strcmp
| 比较ANSIC字符串。
#define | FXSYS_strcpy
| 复制ANSIC字符串。
#define | FXSYS_strlen
| 获取ANSIC字符串的长度。
#define | FXSYS_strncmp
| 比较两个ANSIC字符串的字符。
#define | FXSYS_strncpy
| 复制有长度限制的ANSIC字符串。
#define | FXSYS_strstr
| 查找子字符串
#define | FXSYS_vsnprintf vsnprintf
#define | FXSYS_vsprintf
| 使用指向参数列表的指针写入格式化输出。
文件操作
#define | FXSYS_fclose
| 关闭文件。
#define | FXSYS_fflush
| 刷新文件。
#define | FXSYS_FILE
| 文件结构。
#define | FXSYS_fopen
| 打开文件。
#define | FXSYS_fprintf
| 向文件打印格式化数据。
#define | FXSYS_fread
| 从文件读取数据。
#define | FXSYS_fseek
| 将文件指针移动到指定位置。
#define | FXSYS_ftell
| 获取文件指针的当前位置。
#define | FXSYS_fwrite
| 向文件写入数据。
#define | FXSYS_SEEK_END
| 文件末尾。
#define | FXSYS_SEEK_SET
| 文件开头。
#define | FXSYS_wfopen
| 使用宽字符串参数打开文件。目前仅支持Windows平台。
宽字符串操作
#define | FXSYS_mbstowcs
| 将多字节字符序列转换为相应的宽字符序列。
#define | FXSYS_vswprintf
| 使用指向参数列表的指针写入格式化输出宽字符字符串。
#define | FXSYS_wcschr
| 在宽字符字符串中查找宽字符。
#define | FXSYS_wcscmp
| 比较宽字符字符串。
#define | FXSYS_wcslen
| 获取宽字符字符串的长度。
#define | FXSYS_wcsncmp
| 比较两个宽字符字符串的字符。
#define | FXSYS_wcsstr
| 查找宽字符子字符串。
#define | FXSYS_wcstombs
| 将宽字符序列转换为相应的多字节字符序列。
内存块操作
#define | FXSYS_bsearch
| 对排序数组执行二分搜索。通用算法。
#define | FXSYS_GetACP
| 检索系统的当前ANSI代码页标识符。
#define | FXSYS_GetFullPathName
| 获取指定文件的完整路径和文件名。
#define | FXSYS_GetModuleFileName
| 获取指定模块的完全限定路径。
#define | FXSYS_itoa
| 将整数转换为ANSIC字符串。
#define | FXSYS_memchr
| 在内存块中搜索字节。
#define | FXSYS_memcmp
| 比较两个缓冲区。
#define | FXSYS_memcpy
| 从一个缓冲区复制到另一个缓冲区。
#define | FXSYS_memmove
| 将一个缓冲区移动到另一个缓冲区。如果源区域和目标区域的某些区域重叠， ::FXSYS_memmove 确保重叠区域中的原始源字节在被覆盖之前被复制。
#define | FXSYS_memset
| 使用给定字符初始化缓冲区。
#define | FXSYS_MultiByteToWideChar
| 将字符字符串映射为宽字符字符串。
#define | FXSYS_qsort
| 执行快速排序。通用算法。
#define | FXSYS_stricmp
| 比较两个ANSIC字符串，不区分大小写。
#define | FXSYS_strlwr
| 将ANSIC字符串转换为小写。
#define | FXSYS_strupr
| 将ANSIC字符串转换为大写。
#define | FXSYS_wcsicmp
| 比较两个宽字符字符串，不区分大小写。
#define | FXSYS_wcslwr
| 将宽字符字符串转换为小写。
#define | FXSYS_wcsupr
| 将宽字符字符串转换为大写。
#define | FXSYS_WideCharToMultiByte
| 将宽字符字符串映射为字符字符串。

## 函数
内存工具
FX_INT32 | FXSYS_memcmp32 (const void *buf1, const void *buf2, size_t size)
| 比较两个缓冲区中的数据。 更多...
void * | FXSYS_memcpy32 (void *dst, const void *src, size_t size)
| 从源缓冲区复制数据到目标缓冲区。 更多...
void * | FXSYS_memmove32 (void *dst, const void *src, size_t size)
| 将源缓冲区数据移动到目标缓冲区。 更多...
void * | FXSYS_memset32 (void *dst, FX_INT32 v, size_t size)
| 将缓冲区数据设置为指定值。 更多...
void * | FXSYS_memset8 (void *dst, FX_BYTE v, size_t size)
| 将缓冲区数据设置为指定值。 更多...
互斥量
注解 互斥量在单线程模式下或未定义_FPDFAPI_MT_时被禁用， 在此条件下不要调用以下函数。互斥量支持同一线程中的递归调用。
void | FX_Mutex_Destroy (FX_MUTEX *pMutex)
| 销毁一个互斥量。 更多...
FX_BOOL | FX_Mutex_Initialize (FX_MUTEX *pMutex)
| 初始化一个互斥量。 更多...
void | FX_Mutex_Lock (FX_MUTEX *pMutex)
| 锁定一个互斥量。 更多...
FX_BOOL | FX_Mutex_TryLock (FX_MUTEX *pMutex)
| 尝试锁定一个互斥量。 更多...
void | FX_Mutex_Unlock (FX_MUTEX *pMutex)
| 解锁一个互斥量。 更多...

## 基本数据类型
#define | _FX_CRT_MALLOC_LIMIT_ 0x7fffffffL
| malloc大小限制的宏。
#define | ASSERT(a)
| 调试模式的断言，发布模式下不执行任何操作。
#define | FALSE 0
| 值为0的关键字。
typedef int | FX_BOOL
| 布尔变量（应为TRUE或FALSE）。
typedef unsigned char | FX_BYTE
| 字节（8位）。
typedef char | FX_CHAR
| 8位Windows (ANSI) 字符。
#define | FX_DEFINEHANDLE(name) typedef struct _##name {FX_LPVOID pData;} * name;
| 定义句柄类型的宏。
typedef unsigned long | FX_DWORD
| 32位无符号整数。 更多...
typedef int | FX_ERR
| 错误指示器。
#define | FX_FAILED(Status) ((FX_ERR)(Status) < 0)
| 确定状态是否失败。
typedef float | FX_FLOAT
| 32位浮点数。
typedef short | FX_INT16
| 有符号16位整数。
typedef int | FX_INT32
| 32位有符号整数。
typedef long long int | FX_INT64
typedef signed char | FX_INT8
| 有符号8位整数。
typedef INT_PTR | FX_INTPTR
| 指针精度的有符号整型。
typedef unsigned char * | FX_LPBYTE
| 指向FX_BYTE的指针。
typedef unsigned char const * | FX_LPCBYTE
| 指向常量FX_BYTE的指针。
typedef char const * | FX_LPCSTR
| 指向常量8位Windows (ANSI) 字符的指针。
typedef void const * | FX_LPCVOID
| 指向任意常量类型的指针。
typedef unsigned short const * | FX_LPCWORD
| 指向WORD的指针。
typedef wchar_t const * | FX_LPCWSTR
| 指向常量Unicode字符的指针。
typedef unsigned long * | FX_LPDWORD
| 指向DWORD的指针。
typedef char * | FX_LPSTR
| 指向8位Windows (ANSI) 字符的指针。
typedef void * | FX_LPVOID
| 指向任意类型的指针。
typedef unsigned short * | FX_LPWORD
| 指向WORD的指针。
typedef wchar_t * | FX_LPWSTR
| 指向Unicode字符的指针。
#define | FX_MAX(a, b) (((a) > (b)) ? (a) : (b))
| 返回a和b中最大值的宏。
#define | FX_MIN(a, b) (((a) < (b)) ? (a) : (b))
| 返回a和b中最小值的宏。
#define | FX_PI 3.1415926535897932384626433832795f
| PI的宏
typedef void * | FX_POSITION
| 用于表示集合中元素位置的值。
typedef FX_UINT64 | FX_QWORD
| 无符号四字整数。
typedef short | FX_SHORT
| 短整数（16位）。
#define | FX_SUCCEEDED(Status) ((FX_ERR)(Status) >= 0)
| 确定状态是否成功。
typedef unsigned short | FX_UINT16
| 无符号16位整数。
typedef FX_DWORD | FX_UINT32
| 无符号32位整数。
typedef unsigned long long | FX_UINT64
typedef unsigned char | FX_UINT8
| 无符号8位整数。
typedef UINT_PTR | FX_UINTPTR
| 指针精度的无符号整型。
typedef wchar_t | FX_WCHAR
| 编译器相关的Unicode字符（Microsoft编译器为16位，gcc为32位）。
typedef unsigned short | FX_WORD
| 16位无符号整数。
#define | FXSYS_assert
| 断言。
#define | NULL 0
| 空指针值。
#define | TRUE 1
| 值为1的关键字。

## 数学函数
#define | _FX_LSB_FIRST_
#define | FX_CRITICAL_SECTION FX_MUTEX
#define | FX_DeleteCriticalSection(a) FX_Mutex_Destroy(a)
#define | FX_EnterCriticalSection(a) FX_Mutex_Lock(a)
#define | FX_InitializeCriticalSection(a) FX_Mutex_Initialize(a)
#define | FX_LeaveCriticalSection(a) FX_Mutex_Unlock(a)
typedef CRITICAL_SECTION | FX_MUTEX
| 互斥锁/临界区和读写锁的定义。
typedef void * | FX_SPINLOCK
| 自旋锁的定义。
#define | FX_TryEnterCriticalSection(a) FX_Mutex_TryLock(a)
#define | FXDWORD_FROM_LSBFIRST(i) (i)
#define | FXDWORD_FROM_MSBFIRST(i) ( ((FX_BYTE)(i) << 24) | ((FX_BYTE)((i) >> 8) << 16) | ((FX_BYTE)((i) >> 16) << 8) | (FX_BYTE)((i) >> 24) )
#define | FXDWORD_GET_LSBFIRST(p) ((((FX_LPBYTE)(p))[3] << 24) | (((FX_LPBYTE)(p))[2] << 16) | (((FX_LPBYTE)(p))[1] << 8) | (((FX_LPBYTE)(p))[0]))
#define | FXDWORD_GET_MSBFIRST(p) ((((FX_LPBYTE)(p))[0] << 24) | (((FX_LPBYTE)(p))[1] << 16) | (((FX_LPBYTE)(p))[2] << 8) | (((FX_LPBYTE)(p))[3]))
#define | FXSYS_abs
| 返回绝对值的宏。
#define | FXSYS_acos
| 计算浮点数的反余弦值，以弧度为单位。
#define | FXSYS_atan2
| 计算反正切。FXSYS_atan2(y,x) 表示 atan(y/x)。
FX_INT32 | FXSYS_atoi (FX_LPCSTR str)
| 将ANSI字符串转换为整数。 更多...
FX_INT64 | FXSYS_atoi64 (FX_LPCSTR str)
| 将ANSI字符串转换为整数。 更多...
#define | FXSYS_ceil
| 计算值的上界。
#define | FXSYS_cos
| 计算浮点数从弧度参数的余弦值。
#define | FXSYS_Div(a, b) ((a) / (b))
| 两个数相除。
#define | FXSYS_fabs
| 计算绝对值。FXSYS_fabs(x) 表示 |x|。
#define | FXSYS_floor
| 计算值的下界。
#define | FXSYS_fmod
| 计算浮点数余数。
#define | FXSYS_HIBYTE(word) ((FX_BYTE)((word) >> 8))
#define | FXSYS_HIWORD(dword) ((FX_WORD)((dword) >> 16))
FX_LPCSTR | FXSYS_i64toa (FX_INT64 value, FX_LPSTR str, int radix)
| 将整数转换为ANSI字符串。 更多...
FX_LPCWSTR | FXSYS_i64tow (FX_INT64 value, FX_LPWSTR str, int radix)
| 将整数转换为宽字符串。 更多...
#define | FXSYS_LOBYTE(word) ((FX_BYTE)(word))
#define | FXSYS_log
| 计算浮点数的自然对数（以e为底）。
#define | FXSYS_log10
| 计算浮点数的常用对数（以10为底）。
#define | FXSYS_LOWORD(dword) ((FX_WORD)(dword))
#define | FXSYS_Mul(a, b) ((a) * (b))
| 两个数相乘。
#define | FXSYS_MulDiv(a, b, c) ((a) * (b) / (c))
| 先做乘法，再做除法。
#define | FXSYS_pow
| 计算乘方。FXSYS_pow(x,y) 表示 x^y。
int | FXSYS_round (FX_FLOAT f)
| 获取最接近的整数 更多...
#define | FXSYS_sin
| 计算浮点数从弧度参数的正弦值。
#define | FXSYS_sqrt
| 计算平方根。FXSYS_sqrt(x) 表示 sqrt(x)。
#define | FXSYS_sqrt2(a, b) (FX_FLOAT)FXSYS_sqrt((a)*(a) + (b)*(b))
| sqrt(a^2 + b^2)。
#define | FXSYS_strtol strtol
| 将字符串转换为长整数。
FX_INT32 | FXSYS_wtoi (FX_LPCWSTR str)
| 将宽字符串转换为整数。 更多...
FX_INT64 | FXSYS_wtoi64 (FX_LPCWSTR str)
| 将宽字符串转换为整数。 更多...

## 详细描述

系统相关定义的头文件。

Copyright (C) 2003-2026, Foxit Software Inc.. All Rights Reserved.

http://www.foxitsoftware.com

The following code is copyrighted and is the proprietary of Foxit Software Inc.. It is not allowed to distribute any parts of Foxit PDF SDK to third party or public without permission unless an agreement is signed between Foxit Software Inc. and customers to explicitly grant customers permissions.