
C/C++语言
文章平均质量分 52
破极的逆天而行
面朝着大海,海与天仿佛一种颜色,海水闪烁着细碎的银光,小男孩赤足站在细腻的沙滩上,凝视着无垠的碧海,眼中闪烁着星辰与梦想的光芒。
展开
-
Linux应用之参数解析函数---getopt()与getopt_long()
在Linux应用程序中往往运行时会带入参数,例如./xxx_tool -f filename -d portnum,这里-f 和-d后面都带有参数,再比如最基础的命令ls,- -help之后告诉你一大堆可使用的参数(如下图),例如短参数-a, 长参数–all。这里提及一个概念:在Linux命令行参数可以分为两类,一类是短选项,参数前加一个杠"-“,如-a -A都是,另外一类是长选项,长选项在参数前连续加两个杠”–",如–all,–author都表示长选项。原创 2023-03-11 22:04:56 · 842 阅读 · 0 评论 -
##__VA_ARGS__与##args的用法
本文主要涉及##__VA_ARGS__与##args的用法原创 2022-11-14 15:53:25 · 4395 阅读 · 1 评论 -
typedef定义函数指针及注册回调函数的一般步骤
1、typedef定义一个自定义类型的函数指针2、定义及初始化函数指针并将指针赋值为NULL3、定义注册函数,将入参的函数指针赋值给第2步我们定义的函数指针变量(该指针一般为全局变量,至少本文件全局可见)。4、编写我们自定义类型函数指针对应的函数实现。5、main函数中先注册回调函数,然后使用全局的函数指针即可调用我们已注册的第4步编写的函数实现。具体实例如下:#include<stdio.h>typedef void (*my_function_CallBackFun)(in原创 2021-09-08 10:57:23 · 1298 阅读 · 1 评论 -
结构体部分成员初始化
有时候会遇到定义一个结构体但是我们仅需要初始化部分结构体成员的问题。比如如下结构体:struct gpio_irq_desc{ int pin_num; char *pin_name; int gpio_num; int irq; struct timer_list gpio_timer; struct wake_lock gpio_lock;};结构体中的timer_list和wake_lock结构体我们不需要在定义的时候初始化,因为他们需要对应的A原创 2021-09-08 09:48:17 · 2147 阅读 · 0 评论