【自我学习-linux】2018.11.5问题与解决

本文解决内核编译错误,探讨了老内核在新版Ubuntu下的兼容性问题,通过修改timeconst.c文件解决error255错误。同时,文章分析了WM8960声卡驱动芯片在OSS框架下的不兼容性,并提出通过ALSA框架重写代码的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:内核编译报错,error2 error255 原因大概是老内核在新版的Ubuntu下不兼容,需要对报错进行修改
在这里插入图片描述解决:已知报错为kernel下timeconst文件,即vim timeconst.c修改相关错误
删除:
@val = @{KaTeX parse error: Expected '}', got 'EOF' at end of input: canned_values{hz}};
if (!defined(@val)) {
@val = compute_values($hz);
}
output前面加入
$cv = KaTeX parse error: Expected '}', got 'EOF' at end of input: canned_values{hz};
@val = defined(cv)?@cv) ? @cv)?@cv : compute_values($hz);

2018.11.6 研读ALSA代码
总结,经过尝试,WM8960声卡驱动芯片不兼容OSS框架下的语音输出。当使用/dev/dsp设备节点时,音频输出报错,且音频杂音。查找,没有响应好的解决方法。现在,只能通过ALSA框架下对代码重写。对讯为例程进行移植学习。
1.printf,sprintf,fprintf的区别
printf就是标准输出,在屏幕上打印出一段字符串来。
sprintf就是把格式化的数据写入到某个字符串中。返回值字符串的长度。
fprintf是用于文件操作。
原型:int fprintf(FILE *stream,char *format,[argument]);
功能:fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件。

例子:

char name[20] = “lucy”;

FILE *out;
out = fopen( “output.txt”, “w” );
if( out != NULL )
fprintf( out, “Hello %s\n”, name );
返回值:若成功则返回输出字符数,若输出出错则返回负值。

https://www.cnblogs.com/zhangyabin---acm/p/3203745.html

stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值