问题标签 [zig]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Zig“翻译c”不翻译主要功能
我创建了一个 C 文件:
我使用 Zig 的translate-c
命令行选项生成一个 zig 文件,我只得到一些全局变量声明,如
并且没有main
找到函数。但是,如果我将函数名称更改为myFunction
这样:
当我重新生成它时会出现一个函数:
我错过了什么吗?zigtranslate-c
函数的规则是什么?
c - 如何生成 256 位掩码
我有一个 uint64_t[4] 数组,我需要生成一个掩码,这样数组,如果它是一个 256 位整数,则等于 (1 << w) - 1,其中 w 从 1 变为 256。
我想出的最好的东西是无分支的,但它需要很多指令。它在 Zig 中,因为 Clang 似乎没有暴露 llvm 的饱和减法。http://localhost:10240/z/g8h1rV
有一个更好的方法吗?
zig - 预期类型 ?extern fn
我不知道任何 C 或 Zig。但我正在尝试一些东西,到目前为止我真的印象深刻。我正在尝试使用 C 库“lwan”在 Zig 中运行 Web 服务器。有用。但是我在制作处理程序函数时遇到了一些麻烦。
所以我猜我的处理函数的类型是错误的。这是我的处理程序:
如何将其更改为“?extern fn”类型?
我什至不确定我在做我应该做的事情。如果这不是 Zig 的目的,请告诉我。
还有一件事:lwan 使用以下代码创建处理程序:
然后使用它来传递处理程序:
templates - 在哪些编程语言中,类型被视为值?
Zig 编程语言提倡“类型就是值”的概念,这对我来说似乎是一个非常强大的概念,我想知道还有哪些其他编程语言支持这个概念。
我知道例如 C++ 模板可用于将类型传递给函数,但类型仍然与 C++ 中的值不同。
windows - 使用 Zig 编译器构建 c 代码时如何包含 (msvc) libc
我最近发现了 zig,发现它非常有趣。我现在正在尝试学习如何使用 zig 作为交叉编译器,并且以下构建和运行良好(在 Windows 上)
但是,当我使用 build-exe 命令或构建脚本时,无法找到和链接 (Windows) libc
如果我能看到 zig cc 的真正作用,也许我可以弄清楚(但 zig cc 似乎不允许 --verbose-cc 标志)。或者我怎样才能让 zig 与 Windows 上的 msvc(或任何其他工作的 libc)链接?为了完整起见, build.zig 脚本实际上是:
arraylist - 在 Zig 中更改数组列表中的值
菜鸟问题:
我想改变数组列表中存在的值。我最初尝试只抓取索引项并直接更改其字段值。
然而,结果出乎我的意料:
我原以为arr.items[0]
现在等于Foo{ .foo = 2 }
.
这可能是因为我误解了切片。
不a
指向与 ? 相同的内存arr.items[0]
?
是否arr.items[0]
返回指向复制项目的指针?
zig - Malloc 到 Zig 中的结构列表?
如何动态分配内存空间并获取指向 Zig 中结构列表的指针。
就像在 C 中一样:
zig - zig(zig 语言)中的类型生成
是否可以comptime
在 zig 中创建一个会生成新结构类型的函数?该函数将接收一个字符串数组和一个类型数组。字符串是后续结构字段的名称。
opengl - OpenGL顶点数组对象无法绑定顶点缓冲区
我正在通过https://learnopengl.com/学习 OpenGL 。从该站点以及我在尝试解决此问题时在互联网上的研究中,我了解到顶点数组对象很有用,因为您可以将其与glBindVertexArray
, 和
- 将设置任何关联的属性。
- 绑定到 GL_ARRAY_BUFFER 的缓冲区将被自动绑定。
- 关联的 GL_ELEMENT_ARRAY_BUFFER 也将被自动绑定。
因此,我希望下面的设置代码设置两个顶点数组对象,每个对象都有自己的数组缓冲区,当绑定顶点数组对象时,它们会自动绑定。请注意,这本质上是相同代码的两个副本。此外,这是 Zig 的代码片段,与 C 非常相似。
我有一个绘制矩形的功能:
如果我显式调用glBindBuffer
after glBindVertexArray
,那么该函数就可以正常工作,但如果我删除它,那么我会得到GL_INVALID_OPERATION in glBufferData(no buffer bound)
. 但是,我希望glBindVertexArray
调用绑定适当的缓冲区。
帮助!