从代码原理上来说,动态库分配的内存, 只要是动态分配的, 同时将起始指针传到了主程序, 那么在主程序中就可以释放。 典型例子是C标准库函数的strdup, 复制出来的空间必须在主程序中释放掉。 部分库分配的内存, 传给主程序的并不是起始地址, 而是留部分在库内管理,这种不可以在主程序中释放。大部分库会自行释放申请的内存,这种也不可以在主程序中释放,否则到库进行自行释放时,会二次释放导致崩溃。总之, 库分配内存,由谁来释放,怎么释放,是要看约定的。