我谦虚地了解到,尽管是经验丰富的C ++开发人员,但我并不擅长C。 我正在使用用于FastComm FSCC卡的测试工具。

问题描述 投票:0回答:1
为了参考FSCC库在这里

https://github.com/commtech/fscc-linux

对于

FSCC_REGISTERS_INIT

ioctl
您在

mainupdate_all_registers

c gcc pass-by-reference
1个回答
0
投票
有时您通过结构,有时您通过指针,有时将指针传递给指针。 根据文档,您应该使用

struct fscc_registers *

,即在两个地方的指针,但这不是您在做的事情。
in
main
更改:
    FSCC_REGISTERS_INIT(regs); --> FSCC_REGISTERS_INIT(&regs);
in

update_all_registers

更改:

ioctl(fd, FSCC_GET_REGISTERS, &regs); --> ioctl(fd, FSCC_GET_REGISTERS, regs);

对于可读性,我可能会重命名函数中的

regs

参数,以表明该函数中的

regs
是另一种类型,而不是

regs
中的另一种类型。也许在前面添加一个:

main

类似于打印功能。
    


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.