
编程语言编译器语言运行时【免费下载链接】ponycPony is an open-source, actor-model, capabilities-secure, high performance programming language项目地址https://gitcode.com/gh_mirrors/po/ponyc点击查看免费下载Pony 是一个开源的、面向对象的 actor 模型编程语言以 capabilities 安全类型系统和并发性能为核心设计目标。本指南以仓库根目录 README.md 为主干结合 BUILD.md 的源码构建流程、INSTALL.md 的预编译安装方式以及运行时源码实现系统梳理 Pony 的定位、受支持的平台矩阵、操作系统最低版本要求、SSL 构建依赖等关键事实帮助读者快速评估 Pony 是否适合其项目并掌握从安装到源码编译的完整路径。1. Pony 是什么语言定位与核心特性根据 README.md 的定义Pony 是一门开源、面向对象、基于 actor 模型、capabilities 安全的高性能编程语言。这四个关键词构成了 Pony 的完整技术画像actor 模型并发以 actor 为单位actor 之间通过消息传递通信天然规避共享内存的数据竞争问题。仓库中的 examples/actors 目录提供了 counter、ring、spreader、timers 等经典 actor 示例可用于直观理解消息传递模型。capabilities 安全capabilities-secure类型系统通过引用能力如iso、trn、val、ref、box、tag在编译期约束对象引用的读写权限与可共享性将并发安全的检查从运行时提前到编译期。高性能基于 LLVM 的编译器后端见 src/libponyc与高效运行时见 src/libponyrt共同支撑执行性能运行时自带 arena 分配器、调度器与垃圾回收实现。面向对象支持类、traits、接口、泛型等面向对象与泛型编程要素标准库位于 packages涵盖 collections、net、json、files、http_client 等常用领域。项目状态pre-1.0 与生产环境使用README 明确指出 Pony仍处于 pre-1.0 阶段因此会半定期地引入破坏性变更breaking changes。同时强调这类变更通常比较容易适配使用 Pony 编写的应用目前已在生产环境中使用。这一状态对读者的直接意义是评估引入 Pony 时应关注 CHANGELOG.md 中每次版本的破坏性变更记录并保持对 VERSION当前版本号为0.74.0的跟踪。仓库还提供了 RELEASE_PROCESS.md 说明版本发布流程供需要自行跟进发布节奏的团队参考。2. 受支持的平台与架构矩阵README 用一张矩阵表完整说明了 Pony 在不同操作系统与 CPU 架构组合下的支持等级这是评估部署环境的第一手权威依据OS \ CPUamd64arm64arm32riscv64Linux✅ Released✅ Released Best-effort TestedmacOS✅ Released✅ Released——Windows✅ Released✅ Released——FreeBSD Tested✗ Unsupported——OpenBSD Tested✗ Unsupported——DragonFly BSD Tested———图中图例的含义如下与 ponylang 官网的 installing-pony 文档保持同步✅Released提供官方预编译二进制且经过 CI 测试Tested经过 CI 测试但没有预编译二进制需要从源码自行构建Best-effort不在 CI 中由社区在真实硬件上定期构建测试变更可能在两次测试之间破坏它✗Unsupported不支持—Not applicable该组合不存在如 macOS 没有 arm32 版本。从源码结构看架构相关的编译开关与预设均集中在 CMakePresets.json 中例如x86-64、armv8、armv8-a三类 hidden 预设分别对应PONY_ARCH与-march/-mtune编译器参数BUILD.md 还针对 32 位 Raspbian仅支持 gcc 编译并需覆盖-mtunenative、64 位 Raspbian需armv8-a预设加-DPONY_PIC_FLAG-fPIC以及 Apple M1 的 Asahi需armv8预设给出了专门步骤。2.1 Windows 最低版本Windows 11 / Server 2022build 20348README 明确要求Windows 上支持的最低版本是Windows 11 / Windows Server 2022build 20348。原因是 Pony 的网络功能依赖该 build 中引入的一个OS readiness API。更早的版本包括 Windows 10不受支持且Pony 二进制在这些系统上无法运行——这不是降级可用的情况而是硬性门槛。在 INSTALL.md 的 Windows 章节中对应要求安装 Visual Studio 2022/2019 或 Microsoft C Build Tools并勾选Desktop Development with C工作负载与最新的Windows 11 SDK (11.x.x.x) for Desktop组件即与这一最低版本要求呼应。2.2 Linux 最低内核版本kernel 5.3pidfd_openREADME 要求 Linux 最低内核版本为kernel 5.3原因指向process功能Pony 的进程支持通过pidfd_open系统调用来检测子进程退出而该调用正是在 5.3 中引入的。在内核更老的系统上启动一个进程会直接返回错误。这一结论可以在运行时源码中得到完整印证src/libponyrt/lang/process.c 中的ponyint_pidfd_open通过syscall(SYS_pidfd_open, (pid_t)pid, 0u)发起系统调用同时做了兼容处理——当 glibc 小于 2.30 未将__NR_pidfd_open映射为SYS_pidfd_open时手动定义该宏见文件第 21–25 行注释。若当前环境根本没有SYS_pidfd_open即内核头文件都不提供该调用号函数会设置errno ENOSYS并返回 -1即系统调用不存在信号。标准库侧的 packages/process/process_error.pony 第 68–69 行对错误的描述与此完全对应The platform cannot report a childs exit. On Linux this means the kernel is older than 5.3 and lackspidfd_open.这意味着部署 Pony 进程类应用如通过 packages/process 包创建子进程时必须先确认宿主机内核 ≥ 5.3否则Process的启动将失败。3. 构建前置条件SSL/TLS 开发库是硬性依赖README 强调了一个容易被忽略的构建前提标准库的net包在构建期需要 SSL/TLS 开发库可选 OpenSSL1.1.x、3.0.x 或 4.0.x或 LibreSSL。CMake 会在 configure 阶段自动检测已安装的版本并传递正确的编译标志给 ponyc如果找不到受支持的 SSL 库构建会在 configure 阶段直接失败。3.1 源码中的 SSL 检测逻辑CMakeLists.txt第 115–170 行完整实现了这一检测链路可作为理解自动探测机制的参考调用find_package(OpenSSL QUIET)查找系统安装的 OpenSSL若在 macOS 上使用 Homebrew 且 SSL 是 keg-only 安装未符号链接到系统路径CMake 会主动探测 Homebrew 前缀下的opt/openssl等路径并设置OPENSSL_ROOT_DIR在 MSVC 工具链下如果找到的是 mingw 的 OpenSSL.a文件会明确报错拒绝提示设置-DOPENSSL_ROOT_DIRC:/libressl之类的 MSVC 兼容路径通过检查openssl/opensslv.h中的LIBRESSL_VERSION_NUMBER区分 LibreSSL 与 OpenSSL然后按版本映射编译标志LibreSSL →-DlibresslOpenSSL ≥ 4.0.0 →-Dopenssl_4.0.xOpenSSL ≥ 3.0.0 →-Dopenssl_3.0.xOpenSSL ≥ 1.1.0 →begin▁of▁sentence## -Dopenssl_1.1.x其它版本 →FATAL_ERROR提示 net 包要求 OpenSSL 1.1.x/3.0.x/4.0.x 或 LibreSSL若find_package完全找不到 OpenSSL同样以FATAL_ERROR结束 configure。3.2 手动指定 SSL 路径对于非标准安装路径例如 macOS 上 keg-only 的 Homebrew 公式README 与 BUILD.md 一致建议在 configure 步骤显式指定cmake --preset release -DOPENSSL_ROOT_DIR/path/to/ssl各发行版的具体 SSL 开发包名称请查阅 BUILD.md 中的Additional Requirements表格例如 Alpine 用libressl-dev、Ubuntu/Debian 系用libssl-dev、CentOS/Fedora/Rocky 用openssl-devel、OpenSuse 用libopenssl-devel。仓库源码层面SSL 库目录还会被注入到工具链构建的链接搜索路径中见 CMakeLists.txt 第 879 行的PATHS拼接逻辑最终通过-DPONY_SSL_FLAG与-DPONY_SSL_LIB_DIR传递给 ponyc。4. 安装方式一使用 ponyup 安装预编译二进制如果只是使用而非开发 PonyINSTALL.md 提供了最快捷的路径——通过 ponyup 工具安装预编译二进制。需要注意预编译二进制基于通用 CPU 指令集构建不会提供最大性能若需要榨取性能应优先从源码构建见下一节。各平台的安装命令一致ponyup update ponyc release平台附加要求如下Linux需安装发行版的 libc 开发包Debian/Ubuntu 系为libc6-devAlpine 为musl-dev安装 C 编译器包通常会自动带入这些依赖。ponyc 自带链接器不需要 C/C 编译器链接时依赖系统 C 库与 libc-dev 提供的标准 CRT 启动对象。ponyup 支持 Glibc 与 musl 两类发行版且要求本机装有cc与lsb_release以便正确识别平台。macOSponyc 使用 Xcode Command Line Tools 附带的 macOS SDK 来定位系统库需先执行xcode-select --install完整 Xcode 亦可满足。Windows需先安装 Visual Studio 2022/2019 或 Microsoft C Build Tools勾选Desktop Development with C工作负载与Windows 11 SDK组件ponyc 链接时使用 Windows SDKUCRT、kernel32与 MSVC 运行时库。安装完成后将ponyc.exe所在目录解压包的bin目录加入PATH即可全局使用。5. 安装方式二从源码构建 ponyc5.1 前置工具链BUILD.md 列出的前置要求包括具备良好 C11 支持的编译器官方支持 Unix 上的 Clang 与 Windows 上的 MSVC已知可用的版本有 Clang ≥ 3.4、Xcode Clang ≥ 6.0、MSVC ≥ 2017、GCC ≥ 4.7CMake ≥ 3.25CMakePresets.json 中cmakeMinimumRequired亦为 3.25.0Python 3构建 vendored LLVM 必需Unix 系统还需 zlib 开发头文件与库zlib-dev/zlib1g-dev/zlib-devel以及上一节所述的 SSL 开发库。5.2 标准构建流程Pony 的构建系统基于 CMake使用 CMakePresets.json 中的预设管理 out-of-source 构建目录。标准流程分四步以 Linux/macOS 为例# 1. 构建 vendored LLVM 与支持库首次构建或 LLVM 子模块变更时只需一次 cmake -P lib/build-libs.cmake # 2. 配置构建目录release 或 debug cmake --preset release # 3. 构建 ponyc产物位于 build/release cmake --build --preset release # 4. 运行编译器、运行时与标准库测试 ctest --preset release -L ci-core # 5. 安装到 /usr/local可用 --prefix 指定其它位置 cmake --install build/build_release几个关键细节构建目录遵循build/build_preset命名例如 release 预设对应build/build_release仅支持release与debug两种CMAKE_BUILD_TYPE其它值包括 CMake 常规的Release、RelWithDebInfo、MinSizeRel会在 configure 阶段被拒绝预设默认使用 Clang改用 GCC 时在 configure 阶段覆盖编译器cmake --preset release -DCMAKE_C_COMPILERgcc -DCMAKE_CXX_COMPILERg若想加快 LLVM 构建可在 libs 构建时传入并行度cmake -DJOBS6 -P lib/build-libs.cmake注意该参数必须放在-P之前且 LLVM 内存占用较高数值不宜过大删除build/build_release与build/release即可清理 ponyc 构建产物而不影响已构建的库rm -rf build则删除包括库在内的全部构建内容。5.3 各 BSD 与 Windows 的差异BUILD.md 针对特殊平台给出了完整命令序列FreeBSDpkg install -y cmake gmake libunwind git openssl python3后按标准四步构建OpenBSDpkg_add cmake gmake git openssl python%3后构建且 configure 阶段会拒绝 sanitizer、coverage、valgrind 等不支持的use选项OpenBSD 基础系统缺少对应运行时DragonFly BSD基础 GCC 8.3 无法构建 vendored LLVM需pkg install -y ... cxx_atomics gcc13并使用/usr/local/bin/gcc13与g13覆盖编译器该平台同样不支持 sanitizer 选项Windows在 PowerShell 中执行cmake -DPRESETlibs-windows-x86-64 -P lib/build-libs.cmake、cmake --preset windows-x86-64、cmake --build --preset windows-x86-64-releaseVisual Studio 生成器是多配置的debug/release 在构建时选择windows-x86-64-debug或windows-x86-64-release。ARM64 Windows 主机则使用windows-arm64预设并需在 Visual Studio 中额外安装 C Clang Compiler 组件。6. 深入阅读文档、示例与延伸资源6.1 仓库内的一手资料INSTALL.md各平台预编译安装的详细步骤与附加依赖BUILD.md从源码构建的完整指南含各发行版依赖表、sanitizer/LTO/runtime-bitcode/systematic testing 等进阶构建选项INSTALL_DOCKER.mdDocker 镜像使用说明EDITORS.md编辑器 / IDE 支持说明CONTRIBUTING.md贡献指南LICENSE2-Clause BSD License 许可全文。6.2 用示例代码验证语言特性仓库的 examples 目录是验证 actor 模型与 capabilities 语义的最佳起点getting-started/helloworld与getting-started/circle适合入门actors/ring、actors/spreader展示了典型的消息传递模式language-features/lambda、language-features/ifdef演示语言特性c-ffi/ffi-struct展示与 C 的互操作。对运行时与编译器实现感兴趣的读者可分别阅读 src/libponyrt运行时调度、内存、GC、ASIO与 src/libponyc编译器AST、codegen、pass、type 等源码树。6.3 官方学习资源README 的 Resources 一节指向了官方学习与社区入口包括 Pony 语言介绍、入门教程、在线 Playground无需安装即可尝试、FAQ 与社区频道。结合 RELEASE_PROCESS.md 与 CHANGELOG.md可以持续跟踪 Pony pre-1.0 阶段的演进节奏及时适配破坏性变更。7. 小结关键事实速查Pony 是开源的 actor 模型 capabilities 安全的高性能语言当前版本0.74.0处于 pre-1.0 但已有生产应用平台支持以 Linux / macOS / Windows 的 amd64 与 arm64 为最完整组合ReleasedFreeBSD / OpenBSD / DragonFly BSD 仅 Tested无预编译包riscv64 为 Testedarm32 为 Best-effortWindows 最低要求 build 20348Windows 11 / Server 2022源自网络功能依赖 OS readiness APILinux 最低内核 5.3源自process功能依赖pidfd_open系统调用——运行时实现见 src/libponyrt/lang/process.c错误描述见 packages/process/process_error.pony构建期硬性依赖 SSL 开发库OpenSSL 1.1.x/3.0.x/4.0.x 或 LibreSSLCMake 自动探测版本并映射-Dopenssl_*/-Dlibressl编译标志探测逻辑见 CMakeLists.txt追求极致性能时建议从源码构建BUILD.md日常使用可通过 ponyup 安装预编译二进制INSTALL.md。赞分享编程语言编译器语言运行时【免费下载链接】ponycPony is an open-source, actor-model, capabilities-secure, high performance programming language项目地址https://gitcode.com/gh_mirrors/po/ponyc点击查看免费下载相关推荐5分钟搞定Windows鼠标优化按键映射、降低延迟与配置迁移完整指南5分钟搞定Windows鼠标优化按键映射、降低延迟与配置迁移完整指南 新鼠标插上指针乱跳侧键突然失灵游戏里甩枪总慢半拍这三个问题就是Windows鼠标编程语言编译器语言运行时TEN Framework websocket_server_python用 Python 扩展示例在 TEN 应用中搭建 WebSocket 服务器TEN Framework websocket_server_python用 Python 扩展示例在 TEN 应用中搭建 WebSocket 服务器 本文以编程语言编译器语言运行时7个步骤掌握fastai语言模型构建Wikitext语言建模实战指南7个步骤掌握fastai语言模型构建Wikitext语言建模实战指南 fastai是一个强大的深度学习库提供了简单易用的工具来构建和训练各种深度学习模型包人工智能深度学习上一篇RDKit 贡献实战指南从 Bug 报告、文档撰写到 C/Python 代码提交的完整手册下一篇存档损坏崩溃自救指南Minecraft Region Fixer 数据修复工具保姆级上手教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考