cuda全局内存生命周期是主机配置,但是_device_变量生命周期又是应用程序。这个怎么理解?

2025-05-01 09:13:30
推荐回答(1个)
回答1:

软件工程中有用。用于信息隐藏。也就是说,你编写的模块只有内部可以引用,外部无法修改和查看。比如面向对象的编程中经常有这个概念。还有就是存储类的问题,自动存储类变量在进入声明的块时候生成,在块活动期间存在,退出块的时候删除。反之全局变量和静态变量在整个程序执行期间都可以用。而前者就存在被意外函数访问和修改的危险,最好少用。而生命周期是个时间概念,比如析构函数是对象的生命周期结束时自动调用的,用于销毁函数或类。