当前位置:  开发笔记 > 编程语言 > 正文

HZ变量未定义

如何解决《HZ变量未定义》经验,为你挑选了2个好方法。

我正在尝试编译某人的代码而且该人正在使用变量HZ(我认为它代表Hertz用于cpu的hertz)但编译器抱怨该变量未定义.我的猜测是该人没有包含正确的头文件.

那么有谁知道哪个头文件,HZ定义在哪?

谢谢

编辑:编译适用于Debian g ++版本4.3.2
我正在使用的设置 - OSX Leopard 10.5.8,g ++版本4.0.1是失败的地方.



1> Paul Tomblin..:

在我的Linux机器上,它是在中定义的 /usr/include/asm/param.h:#define HZ 100

我在Mac OS X上的任何地方都找不到定义.



2> greyfade..:

保罗的回答是正确的,但我会稍微扩展一下.

Linux有一个编译时选项,用于确定内核计时器的频率.大约是HZ定义的频率,内核调度程序将中断进程并开始其调度工作.(相关功能是DynTicks选项,它消除了HZ值,并根据工作负载更改中断频率.)最常见的设置是100.高响应系统可能使用1000.最近的内核版本使用默认值250.使用大量计算工作负载可能会使用较小的值(以最小化调度程序的影响).

因此,它是一个非常特定于Linux的值,您只能在其中找到它/usr/include/asm/param.h

由于100是常见值,因此只需添加-DHZ=100CXXFLAGS变量即可.这绝不意味着程序实际上可以在OS X上运行,只是它可以编译.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有