V4.0 在设计时,已经做到接口完全兼容旧版本,所以如果你的应用使用的是旧版本,那么无需修改任何源代码即可做到无缝迁移。
V4.0 底层对于 ENV 的存储使用的 blob 格式,所以增加如下 blob 操作接口,替代 V3.0 的基于字符串的接口
size_t ef_get_env_blob(const char *key, void *value_buf, size_t buf_len, size_t *value_len)
EfErrCode ef_set_env_blob(const char *key, const void *value_buf, size_t buf_len)
以下接口在 V4.0 中仍然可用,但已经由于种种原因被废弃,可能将会在 V5.0 版本中被正式删除
char *ef_get_env(const char *key)
注意:由于 V4.0 版本开始,在该函数内部具有环境变量的缓冲区,不允许连续多次同时使用该函数,例如如下代码:
// 错误的使用方法
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_set_and_save_env(const char *key, const char *value)
EfErrCode ef_del_and_save_env(const char *key)
size_t ef_get_env_write_bytes(void)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )