当前位置:网站首页>C语言函数之可变参数原理:va_start、va_arg及va_end
C语言函数之可变参数原理:va_start、va_arg及va_end
2022-07-06 09:16:00 【薇远镖局】
|
|
* 输出参数ap(类型为va_list): 用于保存函数参数列表中可变参数的首指针(即,可变参数列表)
* 输入参数A: 为函数参数列表中最后一个固定参数
* 输入参数ap(类型为va_list): 可变参数列表,指向当前正要处理的可变参数
* 输入参数T: 正要处理的可变参数的类型
* 返回值: 当前可变参数的值
|
另一个比较实用的例子:printk只能在内核初始化完控制台(console_init)后才能使用。因此,在Linux内核初始化控制台前,只能使用其它函数来打印内核消息。这些函数有:
|
这些函数都是用汇编实现的,并直接从低层操作s3c2410的串口,并显示信息。因此不需要等到console_init后就可以显示信息。
为了使用这些函数,需要特性的内核选项支持:make menuconfig
Kernel hack ->
[*]Kernel low-level debugging functions
[*]Kernel low-level debugging messages via S3C UART
(0)S3C UART to use for low-level debug
但是,这些函数并没有printk功能那么强大,支持可变参数,支持格式化字符串。为了在Linux内核初始化控制台前,能使用了一个类似于printk的函数,我们将printascii函数封装到新函数debug里:
|
边栏推荐
- Redis interview questions
- 2020 WANGDING cup_ Rosefinch formation_ Web_ nmap
- 【presto】presto 参数配置优化
- Word排版(小計)
- MySQL与c语言连接(vs2019版)
- Apprentissage automatique - - régression linéaire (sklearn)
- Word排版(小计)
- 【kerberos】深入理解kerberos票据生命周期
- B tree and b+ tree of MySQL index implementation
- [yarn] CDP cluster yarn configuration capacity scheduler batch allocation
猜你喜欢
Redis面试题
【yarn】Yarn container 日志清理
物联网系统框架学习
Mtcnn face detection
Word排版(小計)
电商数据分析--用户行为分析
【flink】flink学习
Principle and implementation of MySQL master-slave replication
R & D thinking 01 ----- classic of embedded intelligent product development process
Apprentissage automatique - - régression linéaire (sklearn)
随机推荐
Funny cartoon: Programmer's logic
Basic use of pytest
Détails du Protocole Internet
[Bluebridge cup 2021 preliminary] weight weighing
Vert. x: A simple TCP client and server demo
电商数据分析--用户行为分析
Word排版(小計)
[Blue Bridge Cup 2017 preliminary] buns make up
Software I2C based on Hal Library
Detailed explanation of nodejs
[NPUCTF2020]ReadlezPHP
MTCNN人脸检测
JS array + array method reconstruction
ImportError: libmysqlclient. so. 20: Cannot open shared object file: no such file or directory solution
FTP file upload file implementation, regularly scan folders to upload files in the specified format to the server, C language to realize FTP file upload details and code case implementation
[yarn] yarn container log cleaning
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries
[template] KMP string matching
yarn安装与使用
机器学习--线性回归(sklearn)