首页 > 解决方案 > 初学者:我如何实际使用 gperf?每次我运行它时它都会挂起

问题描述

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

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

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

谢谢你。

编辑:我尝试过的执行:gperf ./gperf

我尝试过的参数:-a -c -d --output-file 'FILE'

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

标签: ccygwingperf

解决方案


gperf如果您提供的输入文件很大,即包含许多键,则可能会很慢。您可以通过查看文档来了解什么是“小”文件与“大”文件:已知错误和限制


推荐阅读