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