我一直在浏览 ziglearn 并找到了 ArrayList。我理解那里给出的示例,但是当我尝试更复杂的东西时,我遇到了错误。 根据错误,当我的数组转到新元素 append 时,它似乎没有有效的 memory,但我已将初始容量设置为 10。我做错了什么? 可以看到下面的初始容量不是10,它随着每次运 ...
我一直在浏览 ziglearn 并找到了 ArrayList。我理解那里给出的示例,但是当我尝试更复杂的东西时,我遇到了错误。 根据错误,当我的数组转到新元素 append 时,它似乎没有有效的 memory,但我已将初始容量设置为 10。我做错了什么? 可以看到下面的初始容量不是10,它随着每次运 ...
如何将 i32 转换为 Zig 语言中的 f32? 我想计算 for 循环中值的出现次数,然后以平滑的浮点数获得百分比。 ...
出于教育原因,我试图在 zig 中创建简单的Option类型。 这是我的尝试,它似乎工作正常: 因此, map采用 function 并返回Opt(R) ,后者又具有mapFn返回类型。 让我困扰的是,你必须明确地将R类型传递给map : 我的问题是:我可以避免在opt.map(f32,...调用 ...
这些天我对Rust中的交叉编译感到好奇。据我所知,在Go或Zig中做同样的事情非常简单。但是在Rust中,这非常困难。我在我的Intel MacBook Pro中编写Rust代码,想要交叉编译得到可以在M1 MacBook Pro上运行的可执行文件。 我进行了一些尝试,并在 linker 中遇到了 ...
我正在尝试调用SomeClass().call ,但遇到了编译器错误。 具体来说,运行测试 导致错误消息 如何调用采用空上下文的泛型类型方法? ...
有没有更好的方法以更好的方式实现与以下代码相同的结果?if (window == @intToPtr(?*c.GLFWwindow, 0)) 我想检查指向任何类型的 object 的指针(在本例中,指向 GLFWwindow 的可为空的 [当然] 指针)是否为 NULL。是否有更好的方法,这样我就 ...
在堆上创建对象的常规方法是创建一个 create fn: 但是如果我想把一个标准库 ArrayHashMap 放在堆上呢? 例如: badMemory将收到一个WithMap但它是内部map ,在fillMap fillMap时释放,因此在badMemory中取消。 如果不以某种方式破解 zig ...
平台详情 macOS(苹果硅) 之字形版本(所有行为都相同) 0.10.0 aarch64 0.11-dev824 aarch64 问题我为基本的可组合迭代器编写了这段代码: 如果我注释掉第二个测试块"iter while" ,则测试通过。 但是如果我把它们留在里面,我会收到以下错误: 问题关 ...
今年我一直在学习 Advent of Code,学习 Zig,我在第 5 天发现了一些让我很困惑的东西。 所以:我猜是关于代码 2022 的第 5 天的温和破坏者? 我决定将第 5 天的解决方案实施为 U8 的 ArrayLists 的 ArrayList,它最终运行良好。 我的完整解决方案文件在 ...
我有一个 Zig 代码库,我正在使用 build.zig 将其编译为 WebAssembly,如下所示: 在src/main.zig中,有一个extern标记了通过 WebAssembly 导入提供的 function。 这在浏览器中运行时工作正常,但我试图向项目添加测试,但每当我尝试在main. ...
我有一个u8缓冲区,它存储一系列值,包括来自两个 u32 值(仅使用 24 位)的 RGB 分量。 我目前正在使用按位运算来提取各个组件,然后使用@truncate降低精度以便它们适合。 有没有办法将 u32 值直接插入到这个u32中而不需要解压这些值? ...
我想写 fizzbuzz,但不只是打印,而是将它存储在一个数组中。 问题是将数字转换为字符串。 我首先尝试使用bufPrint ,但它输出的是空白而不是数字。 然后我尝试使用allocPrint ,它编译应用程序,但在输入数字后崩溃,并在std/fmt中显示奇怪的错误消息。 我尝试打印 outpu ...
这个 const 打印变量如何表现得像 function? 我知道您可以将表达式分配给变量。 但这似乎表现得像 c/c++ 中的预编译器宏,我不会猜到的。 是不是因为“在 comptime 表达式中声明的所有变量都是隐式 comptime 变量”并且 @ 使其成为 comptime 表达式,所以它 ...
在试验 zig 语法时,我注意到所有示例中都省略了字符串文字的类型表达式。 这完全没问题,我并不是说不应该这样。 然而,由于这种类型遗漏与 zig 中的其他类型声明有点不一致*,它可能导致初学者(像我一样)误解字符串文字的实际类型(事实上这是非常复杂和“不同”的)。 无论如何,在阅读了字符串文字的 ...
例如,如何在 gdb 中的src.zig的第 100 行中向 function foo if (a) cat() foo(true)添加断点? ...
https://github.com/bananaboy139/fractal/tree/OpenGL-shader https://github.com/bananaboy139/fractal/blob/OpenGL-shader/images/2.png?raw=true这是我用 zig ...
我是 Zig 的新人,用“orelse”测试了一些代码。 我尝试按照以下代码创建 2 个可选的无符号 integer 变量,并将 orelse 与它们一起使用。 我的期望,它应该打印“123”。 但是我遇到了一个运行时错误(或者至少我理解它): 那么这是正确的期望还是错误? 如果这是一个错误,我应该 ...
在阅读 zig 的文档时,我的印象是 zig 可以编译 C 和 C++ 代码。 因此,我认为您可以通过@cImport 导入 C++ 文件的@cImport并让zig build成功。 但是,我似乎无法让它适用于 C++ 库集成。 我首先创建我的项目zig init-lib ,然后通过@cImpo ...
Nim 将自己的代码转换为 C 代码并使用 C 编译器进行编译。 Zig 有它自己的编译器,它有许多让你想使用它的好特性,比如允许你选择动态链接的 glibc 版本,或者更容易的交叉编译。 因此,我想使用 zig 编译器编译我的 nim 代码,但这可能吗? ...
我正在尝试使用 Zigs StringHashMap 在 Zig 中创建一个 Trie 结构。 我可以让它工作一点,但只能通过使用“内联”for循环,这不是真正可用的,因为这需要在编译时知道路径:-( 任何帮助/解释将不胜感激:-) 编码: 这打印: 正如预期的那样。 删除“内联”会导致: ...