C++项目中常使用宏来做跨平台、功能实现隔离、变量定义的功能,这篇文章来讨论下是否所有情况下都适合用宏小D的故事程序员小D接到一个任务,需要给同事A提供一个复杂公式的实现。输入为一组参数,输出一个计算结果。小D很快完成了。于是和小D合作开发了很多这样的函数,并且都有float和double两种实现。在对性能要求高的时候要求小D提供float版本;性能要求低,精度要求的时候要求小D提供double版本。比较合适的一种做法是,再提供一个控制选择变量,来选择用哪种实现,即允许运行时决定用float还是double版本。比如opencl 1.2和opencl 2.0版本相比较的话,2.0版本中新增了SVM相关的接口。当一个opencl程序未来可能运行在1.2版本的设备和2.0版本的设备上时。

在C/C++项目中合理使用宏详解

在C/C++项目中合理使用宏详解

在C/C++项目中合理使用宏详解