使用预构建库
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=ProPgPrebuiltLibraries
- 最后更新: 2023-01-01
FreeBASIC 发行版附带了许多常用或流行库的头文件。这些头文件允许程序员使用这些现有静态或共享库(DLL)中提供的函数。
库本身不随 FreeBASIC 一起分发,但大多数可以从网上下载并直接安装。某些其他库可能需要先从源代码编译才能使用。请参阅特定库的文档,了解如何配置、安装和使用它们。
注意,库的系统架构必须与应用程序的架构匹配。例如,要在 x86(32位)应用程序中成功使用库,需要 x86(32位)库。
某些静态或共享库(DLL)可能已存在于系统中,因为它们可能是 FreeBASIC 本身或操作系统的一部分。
虽然许多头文件可以在 FreeBASIC 支持的任何平台上使用,但某些头文件是特定于平台的,无法在其他平台上使用。
FreeBASIC 头文件
有几个专门针对 FreeBASIC 的头文件,它们公开了一些否则不可用的函数:
inc/fbc-int/array.bi-FbArray(数组描述符结构和访问)、ArrayLen、ArraySize的声明。inc/datetime.bi-DateSerial、DateValue、IsDate、Year、Month、Day、Weekday、TimeSerial、TimeValue、Hour、Minute、Second、Now、DateAdd、DatePart、DateDiff、MonthName、WeekdayName的声明。inc/dir.bi- 与Dir一起使用的常量。inc/fbgfx.bi- 与图形命令(如Multikey、Screencontrol、Screenevent、Imagecreate)一起使用的附加常量和结构。inc/fbio.bi-IsRedirected的声明。inc/fblimits.bi- 内置数字的最小值和最大值的常量。inc/fbprng.bi- 与Randomize一起使用的常量,以及其他随机数生成器的未完成结构。inc/fbthread.bi-ThreadDetach和ThreadSelf的声明。inc/file.bi-FileCopy、FileAttr、FileLen、Fileexists、FileDateTime的声明。inc/fbc-int/symbol.bi-__FB_QUERY_SYMBOL__及其关联子宏的声明。inc/crt/string.bi-format的声明。inc/vbcompat.bi- 包含 datetime.bi、dir.bi、file.bi 和 string.bi,以及与 Microsoft Visual Basic 兼容的附加常量。
C 运行时 (CRT)
尽可能地为 C 运行时 (CRT) 提供了跨平台兼容的头文件。例如:
start GeSHi
#include once "crt.bi"
printf( !"Hello World\n" )end GeSHi
要包含特定的 CRT 头文件,在头文件名前加上 "crt/" 前缀。例如:
start GeSHi
#include once "crt/stdio.bi"
Dim f As FILE Ptr
f = fopen("somefile.txt", "w")
fprintf( f, "Hello File\n")
fclose( f )end GeSHi
Windows API
FreeBASIC 源代码中可以包含许多(非常多)Windows API 头文件。在大多数情况下,唯一需要的包含文件是 "windows.bi"。例如:
start GeSHi
#include once "windows.bi"
MessageBox( null, "Hello World", "FreeBASIC", MB_OK )end GeSHi
要包含特定的 Windows API 头文件,在头文件名前加上 "win/" 前缀,例如:
start GeSHi
#include once "win/ddraw.bi"end GeSHi
浏览安装 FreeBASIC 位置的 "inc/win/" 目录,可以查看所有可用的 Windows API 头文件。
其他提供的头文件
有关 FreeBASIC 附带的其他头文件的概述,请参阅外部库索引。该页面还描述了使用库需要包含的文件。或者,可以浏览安装 FreeBASIC 位置的 "inc/" 目录以查找其他头文件。某些库可能已有头文件。某些头文件位于 "inc/" 中,其他头文件可能位于子目录中。要包含位于 "inc/" 子目录中的头文件,在头文件名前加上其所在目录的名称。
例如:
start GeSHi
'' 位于 inc/curl.bi
#include once "curl.bi"
'' 位于 inc/GL/gl.bi
#include once "GL/gl.bi"end GeSHi
使用预构建静态库的要求
- 源代码必须使用
#include包含适当的头文件。 - 静态库必须在编译时链接,方法是在源代码中使用
#inclib,或在命令行上使用-l选项指定库的名称。
使用预构建共享库的要求
- 源代码必须使用
#include包含适当的头文件。 - 编译后的程序运行的主机计算机上必须存在共享库(.DLL)。
版本
- 自 fbc 1.10.0 起,添加了
symbol.bi和fblimits.bi。 - 在 fbc 1.10.0 之前(对于 fbc 1.08.0 和 fbc 1.09.0),
fbprng.bi命名为fbmath.bi。 - 自 fbc 1.08.0 起,添加了
array.bi。 - 在 fbc 1.08.0 之前,标准的
fbmath.bi头文件不存在。
参见
返回 目录