linux param bezieht sich auf die Funktion „module_param“, die zum Übergeben von Befehlszeilenparametern verwendet wird; beim Programmieren im Benutzermodus können Befehlszeilenparameter über die Parameter von „main()“ übergeben werden, während das Schreiben eines Kernelmoduls „module_param( )“ übergibt. " um Parameter zu übergeben.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer. Was ist Linux-Parameter? im Benutzermodus Um Daten an das Programm zu übertragen
#include <stlib.h> #include <stdio.h> int main(int argc,char **argv) { exit(0); }</stdio.h></stlib.h>
wobei argc die Anzahl der an das Programm übergebenen Parameter ist, argv der übergebene Parameter ist und der erste Parameter argv[0] der Name der aktuellen Datei einschließlich des Pfads ist, also die tatsächliche Anzahl der in das Programm eingegebenen Parameter ist argc-1.
Das Kernel-Modul übergibt Parameter
Es gibt keine Hauptfunktion im Kernel-Modul, daher kann die Übergabe von Parametern an das Modul über die Makrodefinition module_param erreicht werden:// 原型 #define module_param(name, type, perm) \ module_param_named(name, name, type, perm)
#include <linux> int num = 100; module_param(num,int,S_IRUSR); static int __init param_init(void) { printk("[%s] num = %d\r\n",__FUNCTION__,num); return 0; } static void __exit param_exit(void) { printk("[%s] num = %d\r\n",__FUNCTION__,num) } module_init(param_init); module_exit(param_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Chen");</linux>
ifneq ($(KERNELRELEASE),) obj-m:=param.o else KERNEL_DIR:=/lib/modules/$(shell uname -r)/build CURRENT_DIR:=$(shell pwd) ccflags-y:=-std=gnu99 -Wno-declaration-after-statement all: $(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) modules clean: $(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) clean endif
Verwandte Empfehlungen: „
Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist Linux-Parameter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!