|
|
|
@ -20,9 +20,31 @@ V4.0 底层对于 ENV 的存储使用的 blob 格式,所以增加如下 blob
|
|
|
|
以下接口在 V4.0 中仍然可用,但已经由于种种原因被废弃,可能将会在 V5.0 版本中被正式删除
|
|
|
|
以下接口在 V4.0 中仍然可用,但已经由于种种原因被废弃,可能将会在 V5.0 版本中被正式删除
|
|
|
|
|
|
|
|
|
|
|
|
- `char *ef_get_env(const char *key)`
|
|
|
|
- `char *ef_get_env(const char *key)`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 注意:由于 V4.0 版本开始,在该函数内部具有环境变量的缓冲区,不允许连续多次同时使用该函数,例如如下代码:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```C
|
|
|
|
|
|
|
|
// 错误的使用方法
|
|
|
|
|
|
|
|
ssid = ef_get_env("ssid");
|
|
|
|
|
|
|
|
password = ef_get_env("password"); // 由于 buf 共用,password 与 ssid 会返回相同的 buf 地址
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 建议改为下面的方式
|
|
|
|
|
|
|
|
ssid = strdup(ef_get_env("ssid")); // 克隆获取回来的环境变量
|
|
|
|
|
|
|
|
password = strdup(ef_get_env("password"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 使用完成后,释放资源
|
|
|
|
|
|
|
|
free(ssid); // 与 strdup 成对
|
|
|
|
|
|
|
|
free(password);
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- `EfErrCode ef_save_env(void)`
|
|
|
|
- `EfErrCode ef_save_env(void)`
|
|
|
|
|
|
|
|
|
|
|
|
- `EfErrCode ef_set_and_save_env(const char *key, const char *value)`
|
|
|
|
- `EfErrCode ef_set_and_save_env(const char *key, const char *value)`
|
|
|
|
|
|
|
|
|
|
|
|
- `EfErrCode ef_del_and_save_env(const char *key)`
|
|
|
|
- `EfErrCode ef_del_and_save_env(const char *key)`
|
|
|
|
|
|
|
|
|
|
|
|
- `size_t ef_get_env_write_bytes(void)`
|
|
|
|
- `size_t ef_get_env_write_bytes(void)`
|
|
|
|
|
|
|
|
|
|
|
|
## 2、主要修改项
|
|
|
|
## 2、主要修改项
|
|
|
|
@ -34,7 +56,7 @@ V4.0 底层对于 ENV 的存储使用的 blob 格式,所以增加如下 blob
|
|
|
|
- 删除 ENV_USER_SETTING_SIZE:V4.0 无需 RAM 缓存
|
|
|
|
- 删除 ENV_USER_SETTING_SIZE:V4.0 无需 RAM 缓存
|
|
|
|
- 增加 EF_WRITE_GRAN :详见移植文档
|
|
|
|
- 增加 EF_WRITE_GRAN :详见移植文档
|
|
|
|
|
|
|
|
|
|
|
|
## 2.2 接口改进
|
|
|
|
### 2.2 接口改进
|
|
|
|
|
|
|
|
|
|
|
|
- 建议使用 ef_get_env_blob 接口替代 ef_get_env,使用方法详见 API 文档
|
|
|
|
- 建议使用 ef_get_env_blob 接口替代 ef_get_env,使用方法详见 API 文档
|
|
|
|
- V4.0 无需额外执行保存动作,所以使用这些接口的代码在 V4..0 无意义,可以移除
|
|
|
|
- V4.0 无需额外执行保存动作,所以使用这些接口的代码在 V4..0 无意义,可以移除
|
|
|
|
|