Task A运行的实例是下面的函数:
void StartAppTask(void const * argument){
char buf[2048] = { "can be printedrn" };
pBuf = buf; /*pBuf is a global pointer defined somewhere*/
for(;;){
osDelay(16);
}
}
通过 Task B 创建/终止Task A. 测试Task A被终止后, Task A实例中的资源是否被系统回收.
测试方法:
使用一全局指针pBuf在Task A指向buf, 并在Task B中不断打印这个指针指向. 当创建Task A后有打印输出, 终止Task A后, 仍有打印输出.
上面测试至少说明, pBuf指向为非空, 是不是也说明char buf[]在Task A被终止后并没有被回收?
Task A运行的实例是下面的函数:
void StartAppTask(void const * argument){
char buf[2048] = { "can be printedrn" };
pBuf = buf; /*pBuf is a global pointer defined somewhere*/
for(;;){
osDelay(16);
}
}
通过 Task B 创建/终止Task A. 测试Task A被终止后, Task A实例中的资源是否被系统回收.
测试方法:
使用一全局指针pBuf在Task A指向buf, 并在Task B中不断打印这个指针指向. 当创建Task A后有打印输出, 终止Task A后, 仍有打印输出.
上面测试至少说明, pBuf指向为非空, 是不是也说明char buf[]在Task A被终止后并没有被回收?
举报