What's the different between .L and gROOT -> ProcessLine(".L.....");

Hi. Thanks for answering my questions all the time.
I recently tried to create a shared library with

.L ShowPID.cc++

it gives me an error in the post [url]Compilation with + postfix is not working
But if I create a macro file and do

gROOT -> ProcessLine(".L ShowPID.cc++");

it goes well.

What’s the difference?

Thank you!


basically none.
Could you share a minimal example which reproduces your issue?


I really want to give you minimal code, but this error come out with the macro that many packages are connected.

If you want, I can provide how to setup the packages and compile this macro.


if this is compilable with a single command, I think it’s ok.