C语言中具有不定参数个数的函数定义,因此可以很灵活地定义一些不确定实参个数的函数。像C标准库中的printf函数就是如此。
在某些时候,比如在做嵌入式设备,我们自己开发一套打印调试数据的接口(比如通过UART或USB),如果自己完全根据printf中的数据格式来写比较浪费时间和资源。幸亏C语言标准库中提供了vsprintf库函数能够将标准的格式字符串与后面的参数自动组织成printf输出的字符串式样。这样我们可以直接通过使用这个库函数来写自己定制的输出函数。 Read More
系统总线服务向总线代理(比如,逻辑处理器)请求来从存储器子系统获取数据或代码。因从存储器获取数据交通而产生的性能影响依赖于工作负载的特征,以及软件对存储器访问优化的程度,在软件代码中实现的位置增强。在附录A中讨论了描绘一个工作负载的存储器交通的一些技术。位置增强的优化准则也在3.6.10小节中讨论。 Read More
本章描述了为多线程应用的软件优化技术,这些多线程应用运行在使用多处理器(MP)系统或是带有基于硬件多线程支持的处理器环境中。多处理器系统是具有两个或多个插槽的系统,每个插槽都配有一块物理处理器包。提供了硬件多线程支持的Intel 64与IA-32处理器包括双核处理器、四核处理器以及支持HT技术的处理器 Read More