吴少滨
08/24/2021, 3:43 AMclass AssetExp {
val delegate: CPointer<AssetModel>?
constructor(){
delegate = makeAssetModel()
}
//when Kotlin Object gone, call this functions
fun finalize(){
releaseVideoAssetModel(delegate)
}
}
napperley
08/25/2021, 12:40 AMnapperley
08/25/2021, 12:44 AMfree
function ( https://man7.org/linux/man-pages/man3/free.3p.html ).napperley
08/25/2021, 12:46 AM吴少滨
08/25/2021, 2:15 AM//.cpp file
*struct* VideoAssetModelWrap{
std::shared_ptr<kuaiying::videoEditor::nopb::VideoAssetModel> nativePtr;
};
VideoAssetModelWrap* makeVideoAssetModel(){
VideoAssetModelWrap* videoAssetModel = *new* VideoAssetModelWrap;
videoAssetModel->nativePtr = std::make_shared<kuaiying::videoEditor::nopb::VideoAssetModel>();
*return* videoAssetModel;
}
//.hpp file
*extern* "C" {
typedef
*struct* VideoAssetModelWrap VideoAssetModelWrap;
VideoAssetModelWrap* makeVideoAssetModel(*void*);
}
吴少滨
08/25/2021, 2:23 AM吴少滨
08/25/2021, 8:30 AMCLOVIS
08/25/2021, 9:30 PMnapperley
08/26/2021, 12:53 AMnapperley
08/26/2021, 1:26 AM吴少滨
08/26/2021, 2:21 AM吴少滨
08/26/2021, 2:23 AM吴少滨
08/26/2021, 2:27 AMnapperley
08/26/2021, 10:16 PMuse
for example: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/use.html ) can be used in some situations to solve the problem. Here is a link to the solution: https://stackoverflow.com/questions/44747862/does-kotlin-native-have-destructors吴少滨
08/27/2021, 8:06 AM