问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

EasyLogger源码学习笔记(1)

发布网友 发布时间:2024-12-06 01:53

我来回答

1个回答

热心网友 时间:2024-12-13 15:13

在编程中,预处理器通过宏定义执行特定的逻辑。使用`#ifdef`和`#else`可以实现条件编译。当`#ifdef _XXXX`中的标识符_XXXX被`#define`命令定义时,编译器将执行`#ifdef`后的程序段1,否则执行`#else`后的程序段2。`#ifndef _XXXX`则表示如果标识符未被定义,则执行程序段1,反之执行程序段2。

ANSI C宏提供了多种实用信息,如`__DATE__`返回当前日期,`__TIME__`返回当前时间,`__FILE__`包含当前文件名,`__LINE__`包含当前行号。`__STDC__`常量用于判断程序是否遵循ANSI C标准。`__FUNCTION__`宏在预编译时返回所在函数的名称。

宏参数的处理可以通过`#`将参数变为字符串,使用`##`将两个宏参数连接起来。`__VA_ARGS__`是一个可变参数宏,需配合`define`使用,将宏左侧的`..`内容原样复制到右侧。

`#if defined`和`#if !defined`在功能上相似,都用于判断宏是否定义。`#error`指令在编译时生成错误消息并停止编译,用于警告开发者。

`extern`关键字用于引用其他文件中的函数或全局变量。例如`extern ElogErrCode elog_port_init(void);`声明了一个名为`elog_port_init`的外部函数,调用时需要指明返回值类型和参数。

在多线程编程中,使用`sched_param`结构来管理线程调度参数。`sem_t`表示信号量,用于实现互斥和同步。`pthread_attr_setschedpolicy(&thread_attr, SCHED_RR);`设置进程调度策略为实时轮转调度。

`SCHED_OTHER`默认分时调度策略,`SCHED_FIFO`采用先进先出策略,而`SCHED_RR`是`SCHED_FIFO`的增强版,提供实时轮转功能。使用`sched_get_priority_max(int policy);`和`sched_get_priority_min(int policy);`函数可以获取线程可设置的最高和最低优先级,其中策略参数即上述三种调度策略的宏定义。

`pthread_attr_setschedparam(&thread_attr, &thread_sched_param);`用于设置线程的优先级。通过这些函数,开发者可以精细地控制线程调度,提高程序性能。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
正确的调搓丝板方法 正确的调搓丝板方法介绍 搓丝板失效的多种原因及如何预防? 副职领导签批公文技巧 上级审批意见怎么写 怎么卸摘网吧电脑上的“世界之窗”浏览器 怎么才能卸载世界之窗浏览器? 麻烦帮我翻译两个句子,谢谢,谢谢。 ...结构层次和结构关系 原理讲下 谢谢谢谢 老师讲过了我么听懂啊_百度... 这两个句子的主干是什么,谢谢谢谢 为什么会有人选择一辈子不结婚呢? EasyLogger源码学习笔记(4) EasyLogger源码学习笔记(2) EasyLogger源码学习笔记(5) 无锡梅村打私家车去三国城需要多少钱 口袋妖怪漆黑的魅影游戏目录在那个文件夹,具体一点 安卓手机想玩漆黑的魅影,求那个叫rom的东西。 这些65寸海信电视不要买!2024年65寸(海信电视)选购推荐! 【2024年618】海信65寸电视选购推荐 2023年海信新款E5K和老款E5H的有哪些提升?E5K值得选择吗? 笔记本电脑电源多少伏电脑电源电压是多少伏 笔记本电脑充电器多少v笔记本电脑电源适配器参数 笔记本电脑和充电宝哪个功率大一般笔记本的充电器功率是多少_百度知 ... Thank you for your e-mail which has been safely received by PPD... Thanks for your e mail. I am happy to hear from you again and als... ...1、谢谢你给我 2、如果你有机会,给我发电子邮件 3、希望有机会可以去... ...再与氯气发生取代反应,整个过程中氯气最多消耗( ) ...物的物质的量相等,则消耗Cl2的物质的量为( ...后再与Cl2发生取代,整个过程最多需反应掉Cl2()? ...与cl2发生完全取代反应时,消耗cl2的最大物质的量为ymol ...得四种取代物的物质的量相等,则消耗Cl 2 的物质的量为( 《c++primer》和《c++primerplus》哪个更适合有些c基 椭圆焦点在x轴y轴上的区别 椭圆方程,怎么确定椭圆的焦点在x或y轴上? (最下面那个公式) 孕妇能不能吃濑尿虾 孕期吃濑尿虾会滑胎吗 山东考生多少分能上中国政法大学 高考考法律学校要多少分 我忠诚的爱人为什么要和我离婚? 农业免税主要是免什么税 农产品免税免什么税 农业公司都免什么税 dna分子结构是什么 dna具有什么结构特点 我用了纵跳训练法训练小腿疼痛,现在没法走路怎么办。十几天没锻炼了... 2022年黑龙江地区大学排名前十强名单 东北林业大学在全国的排名怎么样 简单的名字男生三个字 夜久语声绝如闻泣又一的意思 黄昏不闻人语声的意思是什么 微量注射泵针管 我吃贝瑞左旋整整一瓶了怎么一点也没有减啊,怎么办啊