我正在尝试编译某人的代码而且该人正在使用变量HZ(我认为它代表Hertz用于cpu的hertz)但编译器抱怨该变量未定义.我的猜测是该人没有包含正确的头文件.
那么有谁知道哪个头文件,HZ定义在哪?
谢谢
编辑:编译适用于Debian g ++版本4.3.2
我正在使用的设置 - OSX Leopard 10.5.8,g ++版本4.0.1是失败的地方.
在我的Linux机器上,它是在中定义的 /usr/include/asm/param.h:#define HZ 100
我在Mac OS X上的任何地方都找不到定义.
保罗的回答是正确的,但我会稍微扩展一下.
Linux有一个编译时选项,用于确定内核计时器的频率.大约是HZ定义的频率,内核调度程序将中断进程并开始其调度工作.(相关功能是DynTicks选项,它消除了HZ值,并根据工作负载更改中断频率.)最常见的设置是100.高响应系统可能使用1000.最近的内核版本使用默认值250.使用大量计算工作负载可能会使用较小的值(以最小化调度程序的影响).
因此,它是一个非常特定于Linux的值,您只能在其中找到它/usr/include/asm/param.h
由于100是常见值,因此只需添加-DHZ=100
到CXXFLAGS
变量即可.这绝不意味着程序实际上可以在OS X上运行,只是它可以编译.