title: Difference between modules and shared libraries?
body: <p>The title mostly covers it, what is the difference between a module and a shared library? I just found this distinction in CMake's <code>add_library</code> command, where they say:</p>
  
  <blockquote>
    <p>SHARED libraries are linked dynamically and loaded at runtime. MODULE libraries are plugins that are not linked into other targets but may be loaded dynamically at runtime using dlopen-like functionality.</p>
  </blockquote>
  
  <p>But I can load a shared object using dlopen(), can't I?</p>