<div dir="ltr">On Thu, Aug 29, 2013 at 9:30 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> writes:<br>
> We wanted to initialize a given library before anything in it was<br>
> used.<br>
<br>
Why?<br>
<br>
> Dynamic libraries give us a hook when we load them, but we do not have<br>
> that statically. I could not think of another way to do it.<br>
<br>
I understand that dynamic libraries allow you to do so, but what does<br>
that buy you?<br></blockquote><div><br></div><div>You do all the logging initialization.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also, given that the first line of KSPInitializePackage is:<br>
<br>
  if (KSPPackageInitialized) PetscFunctionReturn(0);<br>
<br>
and PetscDLLibraryRegister_petscksp has already called<br>
KSPInitializePackage, isn't the preprocessor guard redundant?<br>
</blockquote></div><br>Yes, if you don't mind calling it. It might have been before we put in the guard. This is old.</div><div class="gmail_extra"><br></div><div class="gmail_extra">   Matt<br clear="all"><div><br></div>
-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener
</div></div>