FreeBASIC 运行时库常见问题
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=FaqPgrtlib
- 最后更新: 2019-03-11
FreeBASIC 运行时库问题:
返回目录
FreeBASIC 运行时库问题
如何播放声音?
QB 的声音关键字中,只有 BEEP 在 FB 中实现了。
如果需要 PC 扬声器声音,应使用 IN 和 OUT 来编程。请参阅 OUT 关键字中的示例,以替代 SOUND。
有一个名为 QBSound 的库,可以模拟 QB 在后台播放字符串编码曲调的功能,它使用声卡的合成器。
如果需要通过声卡播放 .wav 或 .mp3 文件,可以在 Linux 和 Windows 中使用 FMOD 或 BASS 等外部库。DOS 版本请参阅 DOS FAQ 部分。
如何访问串口?
DOS
请参阅 DOS FAQ 部分。
Windows 和 Linux
请参阅 Open Com。
如何打印?
FB 支持向打印机输出字符。
要打印图形,有两种方式:
- 预处理图形数据,对打印机编程,然后将数据发送给它(参见 wikipedia.org/wiki/ESC/P)。这与操作系统无关,但依赖于打印机型号。这是 DOS 的唯一方式,另见 DOS FAQ 部分。
- 在 Windows 和 Linux 中有特定的 API 调用。这不能跨操作系统移植,但操作系统的打印机驱动程序使其与打印机型号无关。
如何访问硬件端口?
QB 中已知的 INP、OUT 和 WAIT 都在 FB 中实现了。
GfxLib 会拦截对某些 VGA 端口的调用,以模拟 QB 中广泛使用的调色板操作和垂直同步方法。因此,当使用 GfxLib 时,无法访问端口 &H3DA、&H3C7、&H3C8 和 &H3C9。所有其他端口均可访问。
在 Linux 或 DOS 中使用 INP 和 OUT 不需要任何额外技巧。对于 Windows 版本,所需的设备驱动程序会在每次 Windows 会话中第一次运行程序时临时安装;这要求该次运行具有管理员权限,否则程序将以错误结束。请注意,在 Windows 和 Linux 中,应用程序访问硬件端口并不是常见做法。
参见
以及
返回目录