va_経由Listおよび/dev/kmsgシリアルポートでデバッグ情報を印刷
次はソース
注意すべきは、linuxが起きた後、端末で/dev/kmsgの権限を変更する必要がある777です.
このような利点は、開発時にkernelがadbに接続できない場合、ddmsでLogcat印刷を見ることができず、端末でlogcat印刷を見るのは面倒で、このような方法で直接シリアルポートに印刷を追加することができるということです.
しかし、ここのwriteはブロック式かもしれないし、プログラムを遅くする可能性があります.
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
static void mp4api_dbprint_ttxgz(char* format,...)
{
va_list args;
int fd;
char string[1000];
va_start(args,format);
vsprintf(string,format,args);
va_end(args);
fd = open("/dev/kmsg",O_RDWR);
if(fd == -1)
{
return;
}
write(fd,string,strlen(string)+1);
close(fd);
}
注意すべきは、linuxが起きた後、端末で/dev/kmsgの権限を変更する必要がある777です.
このような利点は、開発時にkernelがadbに接続できない場合、ddmsでLogcat印刷を見ることができず、端末でlogcat印刷を見るのは面倒で、このような方法で直接シリアルポートに印刷を追加することができるということです.
しかし、ここのwriteはブロック式かもしれないし、プログラムを遅くする可能性があります.