热门排行
简介
PureBasic是一款基于已建立的 BASIC 规则的原生 32 位和 64 位编程语言,PureBasic 是一种基于既定“BASIC”规则的“高级”编程语言。它主要与任何其他“BASIC”编译器兼容。学习 PureBasic 非常简单! PureBasic 是为初学者和专家创建的。编译时间非常快。该软件是为 Windows 操作系统开发的。我们为实现它付出了很多努力,以产生一种快速、可靠和系统友好的语言。语法很简单,并且通过添加到该语言中的“高级”功能(如指针、结构、过程、动态列表、映射、接口、模块化编程(模块)、内联汇编器等等)具有巨大的可能性。对于有经验的编码人员来说,访问任何合法的操作系统结构或 API 对象都没有问题。欢迎需要此款工具的朋友前来下载使用。
Purebasic LTS 优势概述
PureBasic 的主要特性是可移植性(目前支持 Windows、Linux 和 MacOS X)、生成非常快速且高度优化的可执行文件,当然还有简单的 BASIC 语法。 PureBasic 是为初学者和专家创建的。我们为实现它付出了很多努力,以产生一种快速、可靠的系统友好语言。
尽管它的语法对初学者友好,但 PureBasic 的高级功能(例如指针、结构、过程、动态链接列表等等)的可能性是无穷无尽的。有经验的编码人员可以毫无问题地访问合法的操作系统结构或 API 对象,而且 PureBasic 甚至允许内联 ASM。
Purebasic LTS 功能概述
大量内部命令 (1600+),可快速轻松地构建应用程序或游戏
支持 Windows (x86 - x64)、Linux (x86 - x64)、OS X(x64、M1)和 Raspberry(arm32、arm64)
基于BASIC编程语言的关键字
非常快速的BASIC编译器,可创建高度优化的可执行文件
创建可执行文件时不需要外部 DLL、运行时解释器或其他任何内容
高级编程的过程和结构支持
完全支持 unicode
内置容器,如数组、列表和映射
强类型,强语法,避免编程错误
命名空间支持,便于代码重用
为高级程序员访问完整的操作系统 API
通过专用库(DirectX、OpenGL)提供简单但非常快速的 2D 游戏支持
基于 OGRE 的简单和高质量的 3D 支持
通过使用高度优化的(组装)命令来优化可用硬件的使用
源代码可在 Windows、MacOS X、Linux 和 Raspberry 之间移植
专用编辑器和开发环境
强大的集成调试器和分析器,可轻松跟踪和分析代码
技术细节和系统要求
支持的操作系统:Windows 11、Windows 10、Windows 8.1、Windows 7
RAM(内存):2 GB RAM(推荐 4 GB)
可用硬盘空间:200 MB 或更多
功能特色
-x86和x64支持
-83个本地库
-数以百计的功能
-内置数组、动态列表、复杂结构、映射、指针和变量定义
-支持的类型:Byte(8位)、Word(16位)、Long(32位)、Quad(64位)、Float(32位)、Double(64位)和字符
-用户定义的类型(结构)
-内置字符串类型(字符),包括ascii和unicode
-强大的宏支持
-支持常量、二进制和十六进制数
-通过将常量和数字组合在一起的表达式缩减器
-关于符号优先级和括号的标准算术支持:+、-、/、*、和、或、<<、>>
-极快的编译
-对具有局部和全局变量的结构化编程的过程支持
-所有标准BASIC关键字:If-Else-EndIf、Repeat-Until等
-用于操作BMP图片、窗口、小工具、DirectX等的专用库
-专门的库针对最大速度和紧凑性进行了非常优化
-完全支持Win32 API,就好像它们是BASIC关键字一样
-内联汇编器
-带有常量文件的预编译结构,用于超快速编译
-集成调试器以跟踪程序的执行并更轻松地纠正错误
-可配置的CLI编译器
-具有自动突出显示语法的专用编辑器
-非常高的生产力,全面的关键字,在线帮助
-系统友好,易于安装和使用
-提供英语、法语和德语的IDE和帮助
-SDK视觉C
-编译窗口程序、控制台和DLL
-创建集成的所见即所得窗口
-使用“对话框”库创建具有自动重组小工具(布局)的窗口
-33个原生小工具
-1个专门用于OpenGL的小工具
-1个闪烁小工具
-进程、线程、互斥体、信号量
-拖放
-适用于MS Windows的DPI
-适用于Linux的QT和GTK3
-DirectX和OpenGL系统
-导入静态(lib)或动态库(dll、so等)
-使用“矢量”库进行抗锯齿绘图
-3D引擎OGRE的3D功能
-伪类型:p-ascii、p-utf8、p-bstr、p-unicode、p-variant
-数组、链表(list)、地图、数据库(MySQL、SQLite、ODBC、PostgreSQL、Maria)
-json、xml
-正则表达式
-http、ftp、邮件、应用服务器/客户端、CGI和FastCGI
-密码
-错误
-压缩器/解压器:BriefLZ、JCALG1、LZMA、Tar、Zip
-ini文件
-打印机、串口
-运行
更新日志
www.purebasic.com/news.php
PureBasic 6.12 LTS
- 新增: FTP 库支持 SFTP!
- 已添加: 为 OSVersion() 添加了: #PB_OS_MacOSX_13、#PB_OS_MacOSX_14 和 #PB_OS_MacOSX_15
- 已添加: 为 FrameGadget() 添加: #PB_Frame_Container 支持
- 已添加: linux 和 osx 编译器的"--console "命令行开关(用于保持一致性)
- 已添加: GTK WebGadget() 的 NavigationCallback 支持(现在所有操作系统都支持了)
- 新增: 用于创建 DLL 的新链接器,可缩小二进制文件大小(Windows)
- 新增: LoadSound() 和 CatchSound() 支持 32 位浮点 WAV
- 新增: 适用于 Ubuntu 24.04 的新 Linux 软件包
- 修正: 编译器和库的一些错误(修正错误列表)
PureBasic 6.10 LTS
- 新增: WebView库,可轻松创建基于HTML/CSS的用户界面!
- 已添加: 重新设计了日期库,可以处理从 1601 到 9999 的年份!
- 新增: 骨架库,为网格创建自定义骨架!
- 新增: SvgVectorOutput() 和 PdfVectorOutput() 适用于所有操作系统
- 新增: OS X 的 DPI 感知支持
- 新增: 针对拖放的 ExamineDraggedItems()、NextDraggedItem() 和 DraggedItemIndex() 功能
- 新增: 为 ExplorerTreeGadget() 提供 GetGadgetItemText() 支持
- 新增: CompareStructure(), CompareArray(), CompareList() 和 CompareMap() 函数
- 新增: 排序库中的 CustomSortList() 和 CustomSortArray() 函数
- 新增: CatchPack(), PackEntryDate() 函数
- 新增: CreatePasswordHash() 和 VerifyPasswordHash() 函数(BCrypt 算法)
- 新增: DeriveCipherKey() 用于从密码创建密码密钥(PBKDF2 算法)
- 新增: DateUTC() 获取 UTC 时间的日期
- 新增: ConvertDate(Date, #PB_Date_LocalTime/#PB_Date_UTC) 用于在UTC和当地时间之间转换日期。
- 新增: CreateMesh() 支持 ScaleEntityBone()、MeshDirectAdd() 和 #PB_Mesh_Direct 模式。
- 新增: 针对空目录的 AddPackDirectory(#Packer,PackedDirectoryName$)。
- 新增: UseDialogWebGadget(), UseDialogOpenGLGadget(), UseDialogScintillaGadget() 以避免使用对话框时默认依赖大量 lib。
- 新增: InitSound() 的 NbMaxChannels 参数。范围从 1 到 254。
- 新增: OpenPreference() 的 "Encoding "可选参数,以正确处理无 BOM 的 UTF-8 文件。
- 已添加: 对所有请求者的父窗口支持
- 已添加: 基于 Edge 组件的 WebGadget,带有 #PB_Web_Edge 常量(仅限 Windows)
- 已添加: InitFastCGI() 的本地主机绑定
- 新增: SystrayIconMenu() 用于在点击图标时自动显示菜单
- 已添加: ListIconGaget() 列对齐方式支持
- 已添加: 如果在没有线程安全模式的情况下使用 CreateThread() 会出现运行时警告
- 已添加: 面板小工具()的 GadgetItemID() 支持(仅限 Windows)
- 已添加: 为 CreatePreference() 添加了 #PB_Preference_NoBOM 标志,以创建不带 BOM 的 UTF-8 偏好设置文件
- 已添加: 指纹函数的 #PB_Cipher_HMAC 标志
- 已添加 为 DrawingMode() 提供 #PB_2DDrawing_NativeText 支持
- 已添加 已添加: DrawingBufferFormat() 的 #PB_PixelFormat_NoAlpha 支持
- 已添加: 为 ListIconGadget() 添加: #PB_EventType_ColumnClick
- 已添加: 为 EscapeString() 和 UnescapeString() 添加: #PB_String_EscapeJSON 支持。
- 已添加: 支持 #PB_Menu_SysTrayLook 以在使用 SysTray 时获得更好看的弹出菜单(仅限 Windows)
- 已添加: 为 ExplorerListGadget() 添加: #PB_EventType_Refresh 支持(仅限 Windows)
- 新增: 在 Linux 上支持大小写不敏感的子系统
- 已添加: Windows 编译器的 --listfunctions/constants/interfaces 和 --querystructure 支持。
- 已更新: Windows 编译器支持 Unicode 文件名
- 已更新: 在 Linux 上用 Libvlc 代替旧的 xine 库播放电影
- 已更新 重新设计了声音和音乐库,以便在 Windows、OS X 和 Linux 上使用 MiniAudio(Linux 上的声音不再需要依赖 SDL)。
- 已更新: SQLite 版本升至 3.45.0
- 已更新: Windows 上的工具链现在使用 VisualStudio 2022 和新的 MSVCRT,以加快 PureBasic 程序的运行速度并简化外部库的集成。
- 已更新: Linux x86 的最低版本现为 Debian 12
- 已更新: 树莓系统的最低版本现在是基于 Debian 12 的 PI OS
- 更改:TextWidth()、TextHeight()、DrawText() 和 DrawRotatedText() 现在使用双 X、Y 坐标。
- 更改:Scintilla 现在可在 Windows 上静态链接(不再需要将 scintilla.dll 与可执行文件一起发布)
- 已更改:Linux 上的 SysTray 库现在使用 AppIndicator,以支持 GTK3 中的现代 Linux 发行版
- 已更改:已废弃的 DESFingerprint() 函数 - 使用新的 CreatePasswordHash() 代替。
- 已更改: ListSize() 和 MapSize() 现在可以在列表或映射被释放时正确返回-1。
- 移除:Linux/OSX 上的--listpath(使用 --output 指定输出文件)
- 删除了 Windows XP 支持。现在创建的可执行文件最低支持的 Windows 版本是 Windows Vista。
- 删除了 一些过时的函数。
- 已修复: 大量程序库错误(已修复错误列表)
PureBasic 6.03 LTS
- 已添加: 为 CompareMemoryString() 添加了 #PB_String_NoCaseAscii,以便在只涉及 ascii 字符时更快地比较字符串。
- 已添加: #PB_Compiler_DPIAware 编译常量。
- 更新 Scintilla 至 5.3.5,适用于所有平台
- 优化: 生成的 C 语言文件更小、更易读。
- 更改: Linux 上的集成开发环境现在默认使用 GTK3(GTK2 集成开发环境名为 purebasic_gtk2)
- 修正了 大量编译器和程序库错误(已修正错误列表)
PureBasic 6.00 LTS
-补充:Apple M1支持!
-添加:树莓派支持(32位和64位)!
-添加:适用于所有PureBasic版本的新C后端编译器-添加:#PB_Compiler_Backend、#PB_Backend_C
和#PB_Backend_Asm编译器常量
-添加:#PB_Compiler_64Bit和#PB_Compiler_32Bit编译器常量
-添加:#PB_Compiler_Optimizer如果优化器设置为#True启用
-添加:对OSVersion()的Windows 11、OS X 11和12的支持
-添加:命令行中的/OPTIMIZER、-z、--optimizer标志,以及IDE“编译器选项”中的“使用代码优化器”复选框打开C优化
-添加:菜单和工具栏库(Windows)的自动DPI支持
-添加:Linux上GTK3的WebGadget()支持
-添加:CreateShader()、CreateShaderMaterial()、MaterialShaderAutoParameter()、MaterialShaderParameter()、MaterialShaderTexture()
-添加:可选参数到MeshFace()以创建四边形
-添加:可选力矢量到WorldGravity()
-添加:可选位置ApplyEntityForce()的模式
-添加:GetEntityMesh()、CreateCubicTexture()、CreateAnimatedMaterial()
-添加:CreateDataMesh()的新模式:#PB_Mesh_DiagonalShortestLength、#PB_Mesh_DiagonalClosestNormal、#PB_Mesh_DiagonalAlternate、#PB_Mesh_DiagonalRegular1、#PB_Mesh_DiagonalRegular2
-添加:新结构:Vector3,矢量4
-新增:预定义着色器:#PB_Material_ColorShader、#PB_Material_PerpixelShader、#PB_Material_BumpShader、#PB_Material_SkyShader、#PB_Material_WaterShader、#PB_Material_WaterShaderRTT、#PB_Material_OceanShader、#PB_Material_PointSpriteSphereShader-新增
:SetMaterialAttribute()的新模式:#PB_Material_DPEP_PointBSSprite
CreateMaterial()的Color'参数
-添加:MaterialShininess()的新可选'SpecularColor'参数
-添加:MeshVertexTextureCoordinate()的新可选'v'和'w'参数
-添加:CreateCamera()的新可选'Lod'参数
-添加:AddMaterialLayer()的新模式:#PB_Material_ModulateX2、#PB_Material_ModulateX4、#PB_Material_AddSigned、#PB_Material_Substract、#PB_Material_BlendDiffuseAlpha、#PB_Material_BlendCurrentAlpha
-添加:IDE中自动完成的新上下文常量显示(Fr34k)
-添加:自定义工具的3个新触发器在IDE中:“OpenFile-非PB二进制文件”、“OpenFile-非PB文本文件”、“OpenFile-具有特定扩展名”(HeX0R101)
-添加:新的“替换”快捷方式(CTRL+H)打开查找在IDE中启用替换的对话框(ChrisRfr)
-更新:SetMaterialColor()现在可以使用“|”一次使用多种颜色类型
-更新:fasm、polink、polib和porc到最新版本(Windows)
-更新:
-更新:Windows上的鼠标库使用RawInput而不是DirectX来支持HighDPI鼠标
-更新:SQLite到3.38.2
-更新:zlib到1.12.12
-更新:libpq(PostgreSQL)到14.2
-更改:重命名结构PB_MeshFace->MeshFace和PB_MeshVertex->MeshVertex
-更改:将/EXE命令行标志的名称更改为/OUTPUT以更加连贯(仍然适用于向后兼容,但不再记录)
-更改:/CONSTANT的短版本从'-o'到'-co'as'-o'现在用于/OUTPUT
-更改:使用被动语法时创建地图元素的方式更加一致
-更改:屏幕/精灵的默认子系统现在是Windows上的OpenGL,以提高一致性。DirectX9仍可作为子系统使用。
-更改:启用sprite OpenGL子系统的背面剔除以更快并符合DirectX9/11
-更改:使用网络功能不再需要InitNetwork()(已弃用)
-删除:OS X的x86版本的PureBasic,因为它是自OS X Catalina以来不再受支持(最低支持OS X现在是10.10-2014年发布)。
-已删除:Linux上的“帮助”库
-已删除:Nvidia CG对OGRE的支持,因为一段时间以来Nvidia不再支持它
-已删除:ToolBarStandardButton(),因为它不支持高DPI