我试图使用它,但是当我使用 valgrind 运行它时,我遇到了一些内存问题。
例如
char *serialize_file(t_file_package *pack) {
char *payLoad = malloc(numDigits(pack->file_desc)+numDigits(pack->priority)+strlen(pack->code)+2);
sprintf(payLoad, "%d#%d#%s", (uint32_t)pack->file_desc,(int16_t)pack->priority, pack->code);
char *pack = malloc(numDigits(PROCESS) + numDigits((int64_t)strlen(payLoad)) + strlen(payLoad)+2);
sprintf(pack, "%d#%d#%s",PROCESS, strlen(payLoad), payLoad);
free(payLoad);
return pack;
}
我知道 asprintf 的存在,但我不知道为什么我不能在我的 GNU ANSI C 项目中使用它...我的 Eclipse 说该函数无法识别
提前谢谢你!