小编rob*_*ell的帖子

Zig 创建 C 库

已关闭- 请参阅条目末尾

我想使用 Zig 语言制作一个 C 可调用库。我决定从 Zig 文档中的两个示例开始。“导出 C 库”和“混合目标文件”。在每种情况下,我都复制了三个相关文件(来自 0.6.0 文档)。

  • AC文件名为test.c,
  • 分别名为 mathtest.zig(对于导出 C 库示例)和 base64.zig(对于混合对象文件示例)的 zig 文件,以及
  • 一个 build.zig 文件。

这两个示例都无法构建。

导出 C 库示例无法编译 test.c,并显示消息无法找到 mathtest.h

混合对象文件示例无法编译 test.c,并且找不到 base64.h

以下是导出 C 库示例的三个文件:

数学测试.zig

export fn add(a: i32, b: i32) i32 {
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

测试.c

// This header is generated by zig from mathtest.zig
#include "mathtest.h"
#include <stdio.h>

int main(int argc, char **argv) {
    int32_t result = add(42, 1337);
    printf("%d\n", result);
    return 0; …
Run Code Online (Sandbox Code Playgroud)

zig

2
推荐指数
1
解决办法
2909
查看次数

标签 统计

zig ×1