Le 26/07/2016 13:28, fsmithred a écrit :
On 07/25/2016 06:09 PM, Didier Kryn wrote:
Le 25/07/2016 23:35, fsmithred a écrit :
Either way, it
looks like libsystemd is passively providing code for something else to
use.
     Calling a function does not mean that this function passively provides
code to the caller. What happens  is (simplified) the program counter (the
address from which instructions are fetched) jumps to the called function,
and, when the function has finished execution (encountering the return
instruction, returns to the caller, just one instruction after the initial
jump.

     Didier


Thanks. I had to read that a few times before it sunk in, but it makes
sense, and it's consistent with what I know about shell programming.



It is just about the concept of active or passive things. One could say the only active thing in the computer is, to simplify, the processor cores. In that sense all instructions are passive, wether they are in the main program or in a subprogram and wether this subprogram belongs to a static or dynamic library does not change it.

But it is a common shortcut to speak of instruction as if *they* do something, and, in that sense also, it is the same if they belong to a subprogram.

People working on compilers, linkers and that sort of things refer to the machine instructions as "text". I think it is because it is the text read and executed by the cpu, a text written in the language of the cpu.

    Didier

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to