使用Type xxx = {0};初始化变量,编译的时候会按照Type大小占用.const空间
使用Type xxx; memset(&xxx, 0, sizeof(xxx));初始化变量,程序运行的时候会动态分配空间初始化变量,不占用.const空间。
当const空间已经到达极限,可以用这种方法把代码捋一遍,缩小const占用空间。但是由于memset本身会比前一种方法多占用几行.text空间,因此只有当Type本身定义占用的空间很大时,这个改动的提升才会比较明显。
本人对这个问题的理解目前还很浅显,欢迎指教