项目简介
dyncall是一个底层工具包,为运行时动态处理本地代码提供可移植的抽象。它由三个独立的C语言库组件构成,分别用于函数调用、编写通用回调处理程序以及加载代码。该工具包对多种硬件平台的应用二进制接口(ABI)进行抽象,常作为脚本语言的外部函数接口(FFI)的后端,以连接C/C++世界。
项目的主要特性和功能
- 组件独立:包含'dyncall'(函数调用)、'dyncallback'(编写通用回调处理程序)和'dynload'(加载代码)三个独立组件。
- 平台支持广泛:支持x86、ARM、MIPS、PowerPC、Sparc等多种硬件平台的32/64位架构,以及Android、*BSD、Linux、Windows等众多操作系统。
- 严格测试:通过灵活的测试套件在所有支持的平台上全面测试。
- 测试用例丰富:提供多种测试场景,确保在各种环境中正确、稳定工作。
安装使用步骤
前提条件
- 安装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】