静态变量的内存分配是在编译时完成的。
- 如果我多次编译我的应用程序,每次都会分配内存吗?
- 如果是,那么到那时,它可能会消耗我计算机的全部内存。实际上,它永远不会发生,如何?
- 此外,当我们在其他计算机上运行同一应用程序的可执行文件时,它会成功运行。如果它是在其他计算机上编译的,它如何在其他计算机的内存中找到静态变量。
另外,如果我启动同一个应用程序的多个实例,是否会为所有实例创建静态变量的副本,或者在所有实例之间共享单个静态变量?我认为,副本将被创建。但是在这里我怀疑内存是在编译时分配的,并且应用程序的一个实例可以使用该内存,那么其他实例将如何为该静态变量分配内存。
总的来说,我怀疑“编译时的内存分配”到底是什么意思?