我希望我的程序读取它在C++中运行的CPU的缓存行大小.
我知道这不能轻松完成,所以我需要一个适用于Linux的解决方案和另一个适用于Windows的解决方案(其他系统的解决方案可能对其他人有用,所以如果你了解它们就发布它们).
对于Linux,我可以读取/ proc/cpuinfo的内容并解析以cache_alignment开头的行.也许有一种更好的方式来调用API.
对于Windows,我根本不知道.
在Win32上,GetLogicalProcessorInformation
将返回SYSTEM_LOGICAL_PROCESSOR_INFORMATION
包含a的内容CACHE_DESCRIPTOR
,其中包含您需要的信息.
在Linux上尝试proccpuinfo库,这是一个独立于体系结构的C API,用于读取/ proc/cpuinfo