littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于C语言的动态调用工具包

项目简介

dyncall是一个底层工具包,为运行时动态处理本地代码提供可移植的抽象。它由三个独立的C语言库组件构成,分别用于函数调用、编写通用回调处理程序以及加载代码。该工具包对多种硬件平台的应用二进制接口(ABI)进行抽象,常作为脚本语言的外部函数接口(FFI)的后端,以连接C/C++世界。

项目的主要特性和功能

  1. 组件独立:包含'dyncall'(函数调用)、'dyncallback'(编写通用回调处理程序)和'dynload'(加载代码)三个独立组件。
  2. 平台支持广泛:支持x86、ARM、MIPS、PowerPC、Sparc等多种硬件平台的32/64位架构,以及Android、*BSD、Linux、Windows等众多操作系统。
  3. 严格测试:通过灵活的测试套件在所有支持的平台上全面测试。
  4. 测试用例丰富:提供多种测试场景,确保在各种环境中正确、稳定工作。

安装使用步骤

前提条件

  • 安装C编译器,如gcc、clang、sunpro或msvc。
  • 安装汇编器,如gas(gnu/apple)、llvm as、fbe、nasm或masm。
  • 安装构建系统,如'shell/make'、cmake、nmake(windows)或mk(plan9)。

构建库

使用configure脚本和GNU/BSD/Sun make系统

bash ./configure make make install

测试

bash make tests make run-tests

外部源构建(不适用于基于nmake或mk的构建)

bash cd <build_dir> <src_dir>/configure --prefix=<install_dir> make sudo make install

使用CMake构建

bash cmake make sudo make install

Windows平台构建

查看doc/README.Windows文件获取详细信息。

特定平台构建细节

查看doc/README.*文件获取特定平台的构建细节。

构建手册

确保安装了pdflatex,然后运行: bash make docs

更多信息请参考http://www.dyncall.org、dyncall(3)、dyncallback(3)、dynload(3)、dyncall手册以及doc/目录下特定平台的README文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】