set_sync_mode
时间: 2023-07-08 11:48:29 浏览: 42
`set_sync_mode()` 是 SPDLOG 的全局选项之一,用于设置日志同步模式。在默认情况下,SPDLOG 采用异步日志模式,即将日志消息发送到一个内部的队列中,然后在后台线程中异步写入到文件中。这样可以避免频繁的磁盘操作对程序性能的影响。而同步日志模式则是直接将日志消息写入到文件中,而不是使用队列异步写入。
`set_sync_mode()` 可以在程序初始化时设置,如下所示:
```cpp
spdlog::set_sync_mode(); // 设置同步日志模式
```
同时,也可以在运行时动态切换日志模式,如下所示:
```cpp
spdlog::apply_changes(); // 应用日志模式切换
```
需要注意的是,切换日志模式可能会对程序的性能产生影响。在使用同步日志模式时,频繁的磁盘写入操作可能会导致程序性能下降。因此在进行日志输出时,需要根据实际情况选择合适的日志模式。
相关问题
set_sync_mode头文件
`set_sync_mode()` 函数定义在 `spdlog/sinks/sink.h` 头文件中。因此,在使用 `set_sync_mode()` 函数时需要包含该头文件,如下所示:
```cpp
#include "spdlog/sinks/sink.h"
```
需要注意的是,`sink.h` 头文件中并没有直接定义 `set_sync_mode()` 函数,而是通过 `spdlog::sinks::sink` 类的 `set_sync_mode()` 静态成员函数来实现同步日志模式的设置。因此,在使用 `set_sync_mode()` 函数时,需要通过 `spdlog::sinks::sink` 类来调用该函数。
static inline void start_usb_peripheral(struct usbpd *pd) { enum plug_orientation cc = usbpd_get_plug_orientation(pd); union extcon_property_value val; val.intval = (cc == ORIENTATION_CC2); extcon_set_property(pd->extcon, EXTCON_USB, EXTCON_PROP_USB_TYPEC_POLARITY, val); val.intval = 1; extcon_set_property(pd->extcon, EXTCON_USB, EXTCON_PROP_USB_SS, val); val.intval = pd->typec_mode > POWER_SUPPLY_TYPEC_SOURCE_DEFAULT ? 1 : 0; extcon_set_property(pd->extcon, EXTCON_USB, EXTCON_PROP_USB_TYPEC_MED_HIGH_CURRENT, val); extcon_set_state_sync(pd->extcon, EXTCON_USB, 1); }代码分析
这段代码是一个函数,函数名为start_usb_peripheral,接收一个指向usbpd结构体的指针pd作为参数。函数的作用是启动USB外设。
函数中使用了usbpd_get_plug_orientation函数获取插头的方向,并将结果保存在枚举类型的变量cc中。然后使用了extcon_set_property函数分别设置了EXTCON_USB的三个属性值:EXTCON_PROP_USB_TYPEC_POLARITY、EXTCON_PROP_USB_SS和EXTCON_PROP_USB_TYPEC_MED_HIGH_CURRENT,这些属性值分别表示USB的极性、是否支持超级速率和是否支持中高电流模式。最后使用extcon_set_state_sync函数将EXTCON_USB的状态设置为1,表示连接上了USB外设。
需要注意的是,此代码片段中并没有展示函数的完整定义,因此无法确定函数的返回值类型和其他可能存在的参数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)