Skip to content

使用预构建库


FreeBASIC 发行版附带了许多常用或流行库的头文件。这些头文件允许程序员使用这些现有静态或共享库(DLL)中提供的函数。

库本身不随 FreeBASIC 一起分发,但大多数可以从网上下载并直接安装。某些其他库可能需要先从源代码编译才能使用。请参阅特定库的文档,了解如何配置、安装和使用它们。

注意,库的系统架构必须与应用程序的架构匹配。例如,要在 x86(32位)应用程序中成功使用库,需要 x86(32位)库。

某些静态或共享库(DLL)可能已存在于系统中,因为它们可能是 FreeBASIC 本身或操作系统的一部分。

虽然许多头文件可以在 FreeBASIC 支持的任何平台上使用,但某些头文件是特定于平台的,无法在其他平台上使用。

FreeBASIC 头文件

有几个专门针对 FreeBASIC 的头文件,它们公开了一些否则不可用的函数:

  • inc/fbc-int/array.bi - FbArray(数组描述符结构和访问)ArrayLenArraySize 的声明。
  • inc/datetime.bi - DateSerialDateValueIsDateYearMonthDayWeekdayTimeSerialTimeValueHourMinuteSecondNowDateAddDatePartDateDiffMonthNameWeekdayName 的声明。
  • inc/dir.bi - 与 Dir 一起使用的常量。
  • inc/fbgfx.bi - 与图形命令(如 MultikeyScreencontrolScreeneventImagecreate)一起使用的附加常量和结构。
  • inc/fbio.bi - IsRedirected 的声明。
  • inc/fblimits.bi - 内置数字的最小值和最大值的常量。
  • inc/fbprng.bi - 与 Randomize 一起使用的常量,以及其他随机数生成器的未完成结构。
  • inc/fbthread.bi - ThreadDetachThreadSelf 的声明。
  • inc/file.bi - FileCopyFileAttrFileLenFileexistsFileDateTime 的声明。
  • 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

vb
#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.bifblimits.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 头文件不存在。

参见

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系