初学者:我实际上如何使用 gperf?每次我 运行 它都会挂起

Beginner: How do I actually use gperf? It just hangs every time I run it

我对编码很陌生,目前正在在线学习哈佛的 CS50x class。到目前为止,我对代码、语言和环境的熟悉程度是他们在 C 中教给我的。根据本网站上其他问题的模糊指导,我花了大约 4 天的时间来安装 gperf,从发现 Cygwin 是什么开始从安装它的所有库并对安装进行错误检查,一直到找出最终将安装的程序放在哪里。刚才真的找到应用'gperf.exe'的时候真是太开心了。我以为我终于要得到我已经尝试了将近一周的哈希函数了。

现在,程序什么都不做,每次我尝试 运行 它时都会挂起,没有错误消息。不提供输入文件会导致它挂起。执行手册中指定的任何数量的选项并进行选择,它就会挂起。甚至调试说它正在进入调试,然后就挂了。我能够让程序做出响应的唯一方法是向它提供一个无效的输入文件,它说该文件无效。没有别的东西做任何事;没有输出文件,没有命令行响应,什么都没有。我沮丧到流泪的地步,gperf 提供的文档假定您是专业编码员,没完没了地谈论数百个高级定制选项来修改程序,但只字不提如何制作它 运行 基本水平。我已经广泛搜索了 Google 和这个网站,当我专门搜索 gperf 相关问题时,很少会弹出。

任何人都可以告诉我如何使这个程序工作吗?我确定这是我遗漏的一些愚蠢的小东西,但我想要它做的就是获取我的字符串输入文件并在 C 中给我一个哈希函数。感谢任何和所有帮助,我完全不知道我正在做的事情甚至安装 gperf 都是一个多天的过程,远远超出了我迄今为止所做的范围。

谢谢。

编辑: 我尝试通过的处决: gperf ./gperf

我尝试传递的参数: -一个 -C -d --输出文件'FILE'

我已经尝试了所有这些,包括和不包括我的输入文件,名为 'keys' 和 'keys.txt'。唯一从程序中产生任何响应的是给它一个不正确的输入文件名,结果是“无法加载输入文件 'keys'”。

gperf 如果您给它的输入文件很大,即包含很多键,那么它可能会很慢。通过查看文档,您可以了解什么是 "small" 文件与 "large" 文件:Known bugs and limitations.