gpt4 book ai didi

C下划线原型(prototype)语法

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:34 26 4
gpt4 key购买 nike

我试图编译一个 ruby​​ 模块,但我的编译器卡住了。我认为这可能与 ruby​​.h 中的一行有关:

void rb_check_type _((VALUE,int));

我以前从未见过这种 _ 语法。这是什么意思?它会导致我的编译器 (Visual Studio) 出现问题吗?

最佳答案

它看起来很像一个宏调用,其中包含一个名为“_”的宏。它的双亲是赠品。您通常只会在对复杂宏的调用中看到这一点,这些宏希望能够生成具有任意数量参数的函数调用。

因此,各种可能性似乎是:

  1. 宏不应该被称为“_”,并且某些东西损坏了那条线。也许 rb_check_type_ 是宏的正确名称。也许是别的东西。寻找相似的调用,看看它们有何不同。
  2. 宏确实是“_”,并且由于某种原因没有被定义。这将取决于您包含的头文件。也许你忘记了一个?
  3. 宏存在并且确实是“_”,但它扩展到错误的地方。这可以通过查看编译器的宏扩展输出来检查。大多数编译器都有办法提出要求。

我真的不能给你更多的建议,因为你没有给出任何关于你的编译器实际产生了什么错误的细节。

关于C下划线原型(prototype)语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2687053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com