<div dir="ltr">Want to say I agree with Greg on this one, but did want to answer one question you had.<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 7, 2014 at 10:15 PM, Matthew Gardiner <span dir="ltr"><<a href="mailto:mg11@csr.com" target="_blank">mg11@csr.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, 2014-10-07 at 17:10 -0700, Greg Clayton wrote:<br>
> It is quite common for shared libraries to have initialize and terminate calls. We have this in LLDB.<br>
<br>
</span>Agreed. Lots of libraries have to initialise resource, then release the<br>
resource upon terminate.<br>
<br>
But why have an Initialise method when you _already_ have a Create<br>
method? Likewise a Terminate method when you _already_ have a Destroy<br>
method.<br>
<br>
Surely when a "thing" is created that is also when it is initialised?</blockquote><div><br></div><div>Initialize() initializes global state that is a pre-requisite for using *any* SBDebugger instance.  Create() creates a single instance of an SBDebugger, assuming that the global state has already been initialized.  You can have multiple SBDebuggers, but you can only Initialize() once.</div></div></div></div>