string在ArkTs<==>Native间传递时,会发生内存copy吗?

string在ArkTs<==>Native间传递时,如下面代码中的注释1、2处会发生内存copy吗?

static napi_value GetString(napi_env env, napi_callback_info info) { 
  size_t argc = 2; 
  napi_value args[2] = {nullptr}; 
  napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); 
 
  // 1.获取字符串 
  size_t name_buf_size = 0; 
  size_t name_result; 
  napi_get_value_string_utf8(env, args[0], nullptr, 0, &name_buf_size); 
  char name[name_buf_size + 1]; 
  napi_get_value_string_utf8(env, args[0], name, name_buf_size + 1, &name_result); 
 
  std::string value = "abc"; 
  napi_value result; 
  napi_create_string_utf8(env, value.data(), value.length(), &result); 
 
  // 2.返回字符串 
  return result; 
}
HarmonyOS
2024-05-10 22:45:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
spitter

代码中的注释1、2处都会发生内存copy。

分享
微博
QQ
微信
回复
2024-05-11 11:35:15
相关问题
ArkTs怎么传递对象或者类给Native
769浏览 • 1回复 待解决
ArkTS语言内存管理,会自己管理
577浏览 • 1回复 待解决
Native侧调用ArkTS的全局普通方法
351浏览 • 1回复 待解决
本地service与本地应用如何传递消息
4340浏览 • 1回复 待解决
low memory发生如何监听
555浏览 • 1回复 待解决
ArkTS如何把string转为byte数组
1117浏览 • 1回复 待解决
应用开发string.json的问题
197浏览 • 1回复 待解决
页面关闭如何传递数据
648浏览 • 1回复 待解决
网站如何记录上次登陆
1049浏览 • 1回复 待解决
封装HTTP请求ArkTS中常见
1636浏览 • 1回复 已解决
HTTP GET请求如何传递参数?
1767浏览 • 1回复 待解决
arkts侧hashmap转为native
404浏览 • 1回复 待解决
Native如何调ArkTS的方法
873浏览 • 1回复 待解决
TS侧如何批量传递函数到native
353浏览 • 1回复 待解决
Native调用ArkTS侧类函数
338浏览 • 1回复 待解决
如何在Native侧释放ArkTS对象
802浏览 • 1回复 待解决
ArkTSNative互传数组类型数据
526浏览 • 1回复 待解决