Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 多次加载内核模块(snd aloop)_C_Linux Kernel_Linux Device Driver - Fatal编程技术网

C 多次加载内核模块(snd aloop)

C 多次加载内核模块(snd aloop),c,linux-kernel,linux-device-driver,C,Linux Kernel,Linux Device Driver,我想加载“snd aloop”,以便在终端获得多个设备节点,如: /dev/snd/xxx0 /dev/snd/xxx1 /dev/snd/xxxN (如何)如果需要的话,我可以使用简单的modprobe命令(ubuntu16.04)和一些helper命令吗?需要确切的步骤来做这件事 如果没有,(如何)我可以用一些C代码包装“snd aloop”内核驱动程序,并生成它的多个实例?需要精确的内核C API和一些示例代码…据我所知,您不能加载同一内核模块的多个实例 您可以通过调用设备创建API来创

我想加载“snd aloop”,以便在终端获得多个设备节点,如:

/dev/snd/xxx0

/dev/snd/xxx1

/dev/snd/xxxN

(如何)如果需要的话,我可以使用简单的modprobe命令(ubuntu16.04)和一些helper命令吗?需要确切的步骤来做这件事


如果没有,(如何)我可以用一些C代码包装“snd aloop”内核驱动程序,并生成它的多个实例?需要精确的内核C API和一些示例代码…

据我所知,您不能加载同一内核模块的多个实例

您可以通过调用设备创建API来创建多个“设备”。例如,netdev、char_dev,。。。。你要什么都行


有什么具体的理由这样做吗?从单个内核模块开始,创建多个设备要简单得多。如果您想按需创建设备,请使用ioctl()或proc,无论您想要什么。

是的,正确,我不能在snd aloop上多次执行modprobe。italic\您可以通过调用设备创建API创建多个“设备”。例如,netdev、char_dev,。。。。不管你想要什么。请给我一个书面的例子,如何攻击snd aloop来创建它的多个实例。结果会怎样?你有什么具体的理由这样做吗?从单个内核模块开始,创建多个设备要简单得多。如果您想按需创建设备,请使用ioctl()或proc,无论您想要什么。\ italic因为我想使用snd aloop及其代码:如果不可能,请给我一个书面示例如何修改它,以便拥有多个ALSA设备,如:/dev/snd/pcmxx1/dev/snd/pcmxx2/dev/snd/pcmxx3i检查了源代码-我不熟悉这个环回声卡驱动程序,但我能理解的是:1)alsa_card_loopback_init正在初始化驱动程序。如您所见,基于SNDRV_卡,它循环并注册平台驱动程序。能否检查SNDDRV_卡并启用阵列?设备的数量是多少?2) 注册平台驱动程序后,内核将调用probe()API来检测设备。环回_探测()。在这里,您可以检查在增加“启用”设备的数量后它被调用的次数。