+<div class="question">
+<a name="iosinit"></a>
+<p> What is this <tt>llvm.global_ctors</tt> and
+<tt>_GLOBAL__I__tmp_webcompile...</tt> stuff that happens when I #include
+<iostream>?</p>
+</div>
+
+<div class="answer">
+
+<p>If you #include the <iostream> header into a C++ translation unit, the
+file will probably use the <tt>std::cin</tt>/<tt>std::cout</tt>/... global
+objects. However, C++ does not guarantee an order of initialization between
+static objects in different translation units, so if a static ctor/dtor in your
+.cpp file used <tt>std::cout</tt>, for example, the object would not necessarily
+be automatically initialized before your use.</p>
+
+<p>To make <tt>std::cout</tt> and friends work correctly in these scenarios, the
+STL that we use declares a static object that gets created in every translation
+unit that includes <tt><iostream></tt>. This object has a static
+constructor and destructor that initializes and destroys the global iostream
+objects before they could possibly be used in the file. The code that you see
+in the .ll file corresponds to the constructor and destructor registration code.
+</p>
+
+<p>If you would like to make it easier to <b>understand</b> the LLVM code
+generated by the compiler in the demo page, consider using <tt>printf()</tt>
+instead of <tt>iostream</tt>s to print values.</p>
+
+</div>
+
+<!--=========================================================================-->
+