wxWidgets wxConfBase写入非常慢

wxWidgets wxConfBase Write very slow

本文关键字:非常 wxConfBase wxWidgets      更新时间:2023-10-16

我使用wxConfBase来保存文本框的数据。(windows)

config = new wxConfig(wxT("soft"));
    config->Write(wxT("COM"),temp_port->GetValue());
    config->Write(wxT("SQL_HOST"),mainset_sql_host->GetValue());
    config->Write(wxT("SQL_DB"),mainset_sql_db->GetValue());
    config->Write(wxT("SQL_LOGIN"),mainset_sql_login->GetValue());
    config->Write(wxT("SQL_PASS"),mainset_sql_pass->GetValue());
  {.......}
delete config;

我在结束函数中调用它。

事实上,它非常慢,大约需要10秒(程序冻结)来写大约20个参数。

我相信它是写在我的本地磁盘上,因为我没能找到保存在哪里,甚至尝试使用config->SetPath。

而且访问我电脑上的文件似乎不是那么慢…

也许还有比config-write更有效的方法。

您应该有一个好的调试策略。尽量减少外部影响,树立最小的榜样。然后试着找出程序挂起的确切位置。真的是配置的问题吗?还是那些mainset_sql_*查询?

对于给定名称"soft":

Windows: wxConfig写入HKEY_CURRENT_USERSoftwaresoft.

Linux: wxConfig在主目录创建隐藏的。soft文件。

在两个操作系统中使用wxConfig,我没有任何性能问题。尝试调查更多,了解这些信息保存在哪里。