C++初始化非常大的常量数组,最佳实践



我的程序使用4个大型常量数组——64×256 64位整数。目前,我已经使用了一些辅助代码来预计算值,并将它们发送到一个文件中,以便将它们复制并粘贴到程序文件中。这很管用,但感觉很垃圾。我敢肯定,一定有一种更巧妙的方法来预先计算它们。它们真的必须是恒定的!

提前谢谢。

以可以通过include指令使用的格式生成文件。然后使用#include指令直接使用文件。

your_64bit_type array[] = {
     #include "precomputed.inc"
};

当使用预计算表时,这是很正常的。还可以看看XMACROS,了解使用include文件表的另一种方法。

好吧,一种方法是编写一个程序,将数组输出到头/源文件中。如果文件已经存在,不要创建它。

然后,您只需确保此程序在构建过程中运行即可。您的IDE应该提供一个选项来运行它。如果没有,我相信你可以把它添加到makefile中——不,你已经20多年没有用手触摸过它们了。

我过去也使用过类似的过程来确保程序的每个副本都包含一个唯一的密钥。

最新更新