KERNEL变量:
s32 remainder;
s64 quotient ;
如何在C程序中读取上述变量值并将它们存储在下面的变量中?
uint32 InterruptLatency;
我正在从内核读取时间,它的类型是s32和s64,为1.3456;
如何在用户端程序中读取这个?
uint32 InterruptLatency;
uint8 measurements[32];
char buf[256];
int kernelinterrupt time()
{
fscanf(fp, "%lu", &InterruptLatency); // I am reading the data from kernel which is not shown here
measurements[17] = InterrupLatency;
// after storing it in buffer I am sending the data from but to another layer
}
是否可以读取变量值(s64和s32)并将其存储在uint32中断延迟??
答案 0 :(得分:0)
使用strcpy复制字符串。运算符=
不适用于字符串。
答案 1 :(得分:0)
不完全确定你想在这里做什么,但使用联盟可能会让你到处。
typedef union
{
uint8 measurements[32];
char buf[256];
} measBuf;
measBuf myMeasBuf;
myMeasBuf.measurements[17] = InterrupLatency;
//send myMeasBuf.buf to somewhere
要清楚 - 使用联合可能不是你想要的,你会非常不稳定,因为这里有一些系统依赖。尺寸也与我写的方式不符。一般来说,工会可以帮助你,但你必须看看你是否可以为你的用例做这项工作。