title: Freeing static memory? no, that can't be right
body: <p>I've been playing around with embedding resources into my c++ program. In order to do this I hexdump the data to a simple array, i.e.</p>
  
  <pre><code>unsigned char image_png[] ={
      0x0a, 0x0b, 0x0c, 0x0d, ...
  };
  </code></pre>
  
  <p>Some of these resources are not used after loading (i.e. they get converted to something else and then the original data is just bulk... though a small bit of bulk for the ease of distribution might be worth it). </p>
  
  <p>I'm curious if there's a way to embed the resource into the program, so that I don't have to worry about the binary being able to find all it's most important resources, but then free it up after it's done being used so that the runtime memory footprint takes less of a hit. </p>
  
  <p>Is this possible? If it is possible, is it a stupid thing to try to do? For instance, maybe the os will keep the entire program image in memory anyway (I'm not sure exactly how that works). </p>
  
  <p>edit: 
     To answer comments, I'm working on Linux (Ubuntu 10.04), but if there are cross-platform solutions I would love to hear them</p>