title: What's the relationship between "gcc linking" and "ld linking"?
body: <p>It's said that linux loader is /usr/bin/ld, but usually we use gcc/g++ to link libraries and executables, we barely use &quot;ld&quot;.</p>
  <p>The last time I used &quot;ld&quot; manually was when I was learning linux assembly, the only way to generate executable is to ld a .o file to generate executable directly without any library.</p>
  <p>My question is, is gcc/g++ containing some function wrappers of &quot;ld&quot;, because raw &quot;ld&quot; is too difficult to use? Or we should never use &quot;ld&quot; explicitly for c/c++ program linking, because of blablabla?</p>