我在Solaris上支持一些c代码,至少我认为它是奇怪的:
char new_login[64];
...
strcpy(new_login, (char *)login);
...
free(new_login);
Run Code Online (Sandbox Code Playgroud)
我的理解是,由于变量是本地数组,因此内存来自堆栈而不需要释放,而且由于没有使用malloc/calloc/realloc,因此行为未定义.
这是一个实时系统,所以我认为这是浪费周期.我错过了一些明显的东西吗