gpt4 book ai didi

c++ - 将 yyin 设置为 "emulated"文件*?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:19 27 4
gpt4 key购买 nike

我有一个 C 库,我想在不修改库的情况下将其与 C++ 代码进行交互。它有一个从 yyin 读取的 yacc 生成的前端,它是一个 FILE *。我想将 yyin 设置为从内存中读取的 FILE * 的某种仿真。是否有希望以可移植(Linux、Mac、Windows)方式执行此操作——或者是否有其他技巧可以使此类解析器从内存而不是 FILE * 中读取?

最佳答案

您可以在 Linux 上使用 fmemopen()。不幸的是,不仅没有可移植的方法来执行此操作,而且 fopen() 甚至都不是真正可移植的(它在 Windows 上已经被破坏了很长时间)。

但是,如果您的分词器是 Flex,则可以使用 yy_scan_buffer()。参见 String input to flex lexer .

关于c++ - 将 yyin 设置为 "emulated"文件*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016733/

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