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
427浏览 • 1回复 待解决
ArkTS语言内存管理,会自己管理
333浏览 • 1回复 待解决
本地service与本地应用如何传递消息
4120浏览 • 1回复 待解决
ArkTS如何把string转为byte数组
747浏览 • 1回复 待解决
low memory发生如何监听
332浏览 • 1回复 待解决
网站如何记录上次登陆
817浏览 • 1回复 待解决
页面关闭如何传递数据
316浏览 • 1回复 待解决
封装HTTP请求ArkTS中常见
1312浏览 • 1回复 已解决
HTTP GET请求如何传递参数?
1427浏览 • 1回复 待解决
TS侧如何批量传递函数到native
71浏览 • 1回复 待解决
Native如何调ArkTS的方法
444浏览 • 1回复 待解决
arkts侧hashmap转为native
59浏览 • 0回复 待解决
UnionID元服务和应用的关系
213浏览 • 1回复 待解决
ArkTSNative互传数组类型数据
149浏览 • 1回复 待解决