code: def _link(
      self, body, headers, include_dirs, libraries, library_dirs, lang
  ):
      (src, obj) = self._compile(body, headers, include_dirs, lang)
      prog = os.path.splitext(os.path.basename(src))[0]
      self.compiler.link_executable(
          [obj],
          prog,
          libraries=libraries,
          library_dirs=library_dirs,
          target_lang=lang,
      )
  
      if self.compiler.exe_extension is not None:
          prog = prog + self.compiler.exe_extension
      self.temp_files.append(prog)
  
      return (src, obj, prog)
  
imports: import os, re
  from distutils.core import Command
  from distutils.errors import DistutilsExecError
  from distutils.sysconfig import customize_compiler
  from distutils import log
label_desc: Use image node_id 8 for calling the config obj's underlying member method code with example usage: obj._link(body, headers, include_dirs, libraries, library_dirs, lang) and returns: src,  obj,  prog