This commit is contained in:
cvvletter 2024-05-05 13:19:43 +02:00 committed by GitHub
parent 0d434088f1
commit 0a27a0140f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -729,7 +729,7 @@ which are understood to mean the same.
Programmers use functions they do not define all the time.
A prime example of this is \cpp|printf()|.
You use these library functions which are provided by the standard C library, libc.
The definitions for these functions do not actually enter your program until the linking stage, which insures that the code (for \cpp|printf()| for example) is available, and fixes the call instruction to point to that code.
The definitions for these functions do not actually enter your program until the linking stage, which ensures that the code (for \cpp|printf()| for example) is available, and fixes the call instruction to point to that code.
Kernel modules are different here, too. In the hello world example, you might have noticed that we used a function, \cpp|pr_info()| but did not include a standard I/O library.
That is because modules are object files whose symbols get resolved upon running \sh|insmod| or \sh|modprobe|.