适用于嵌入式应用的高性能日志记录库

发布于 2024-09-25 16:25:29 字数 1537 浏览 4 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南街女流氓 2024-10-02 16:25:29

由于没有可用的开放替代方案,因此决定实施这一点。

The decision is to implement this since no open alternatives are available.

瑾兮 2024-10-02 16:25:29

最好的办法是使用您提到的相同日志库,但将特定于操作系统的代码(例如:行号、文件名、串行通信)与逻辑代码分开。操作系统特定的代码必须包含在函数或宏中,然后从逻辑代码中调用。

示例:

#OS_LINE   _LINE_
#OS_FILE   _FILE_
#OS_SEND(a) Send(a)

int log(void)
{
   char msg[50];
   sprintf(msg, "line %i, %s", OS_LINE, OS_FILE);
   OS_SEND(msg);
   return 0;
}

通过此功能,您只需更改每个设备的操作系统特定宏即可重复使用该库。

The best thing to do is to use the same logging library you mentioned but having the OS-specific codes (like: line number, file name, serial comms) separate from the logical code. The OS-specific code must be contained in functions or macros and then called in from the logical code.

Example:

#OS_LINE   _LINE_
#OS_FILE   _FILE_
#OS_SEND(a) Send(a)

int log(void)
{
   char msg[50];
   sprintf(msg, "line %i, %s", OS_LINE, OS_FILE);
   OS_SEND(msg);
   return 0;
}

With this you can re-use the library by just changing the OS specific Macros for each device.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文