摘要:
C 语言中的回调函数是一种函数指针,可以将其作为参数传递给另一个函数,在该函数中调用回调函数来完成特定的任务 具体来说,回调函数通常用于异步编程或事件驱动编程,以处理异步任务完成后的回调 简单使用demo: #include <stdio.h> // 回调函数类型定义 typedef void (* 阅读全文
摘要:
__weak关键字 __weak是一个c/c++编译器关键字,用于定义一个弱化符号。弱化符号是一种在链接阶段可以被覆盖的符号,允许多个同名符号存在于不同的目标文件中,而不会产生冲突。 当一个符号被声明为__weak时,它具有两个特性: 1、如果该符号在某个目标文件中被定义,那么这个定义将成为默认实现 阅读全文
摘要:
extern关键字 extern关键字有两种用法: 1、用于声明一个全局变量或函数的外部链接性 2、extern "C" 是一个语言特性,用于告诉编译器按照 C 语言的方式对待指定的代码块,以确保与 C 语言兼容 用法一:用于声明一个全局变量或函数的外部链接性 // file1.c #include 阅读全文
摘要:
设计库的目的1)程序更加简洁,不需要维护太多的源文件 2)保护三方厂商的知识产权 gcc常用指令复习一波gcc的常用指令: -E :仅执行预处理(不要编译、汇编或链接)。 -S :只编译(不汇编或链接)。 -c :编译和汇编,但不链接。 -o <file> :指定输出文件。 -pie :创建一个动态 阅读全文
摘要:
GCC编译器提供了多种优化选项,可以帮助改善代码的性能和效率,但当优化等级设置不对时,会导致coredump问题,本文对个人理解和网络上对GCC总结比较完善的文档做个记录备份,侵权联删 GCC优化出现的问题个人分析思路: 1、通过addr2line、nm等方法分析出现堆栈对应的代码段,分析代码逻辑, 阅读全文
摘要:
提起linux内核链表,首先一定得弄清楚的两个linux内核常用宏offsetof && container_of offsetof宏 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 宏解析: 1、size_t在系统中一般 阅读全文
摘要:
c/c++中的一个常见,驱动调试中相当常用的一个关键字 总结一下volatile关键字的作用: 1、多线程中防止编译器优化 #include <stdio.h> #include <stdlib.h> #include <pthread.h> volatile int flag = 0; // 定义 阅读全文
摘要:
团队合作开发中,git作为一个必不可少的工具,能够提高团队的开发效率、代码的质量和可维护性 --20240225 分支推送: 要将本地的 master 分支推送到远程仓库的 master 分支 git push origin master 这条命令会将本地的 master 分支的代码推送到远程仓库( 阅读全文
摘要:
c语言命令行,常用到getopt_long和getopt两个函数,在此做个记录 getopt() getopt函数是一个用于解析命令行参数的C标准库函数,通常与头文件一起使用 int getopt(int argc, char * const argv[], const char *optstrin 阅读全文