linux-l: printk

Jan-Benedict Glaw jbglaw at lug-owl.de
Di Jul 17 13:10:53 CEST 2001


On Tue, Jul 17, 2001 at 11:19:59AM +0200, Sascha Knapp wrote:
> Ok, dann will ich mal eine Fehlerbeschreibung geben, 
> 
> #define __KERNEL__
> #define MODULE
> 
> #include  <linux/kernel.h>
> 
> int main()
> {
>    printk(KERNEL_NOTICE "Hallo Welt!");
>    return 0;
> }
> 
> Das war das Programm und jetzt der Fehler
> 
> undefined reference to `printk`

Naaaaaaiiiiiiinnnnn *patsch* *VorDieStirnHau*

> Vielleicht könnt ihr mir ja jetzt mehr sagen.

Klaro:-)

Also, in C hast Du eine recht komfortable Funktion, um formatierte Ausgaben
zu machen. Diese heißt printf(). printk() ist das Equivalent dazu, aber
in den Kernel-Sourcen. Da Du aber ein "normales " Programm schreibst, 
brauchst Du das nicht:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {

	printf("Hello World!\n");

	return EXIT_SUCCESS;
}


printk() wird *nur* im Kernel benutzt. Da solltest Du als Anfänger aber
nicht gleich beginnen, weil Du da beim kleinsten Fehler sofort neu
booten darfst...

MfG, JBG




Mehr Informationen über die Mailingliste linux-l