A call to MPI_INIT or MPI_THREAD_INIT, from any language, initializes MPI for execution in all languages.
 
  
 
 
 Advice to users.  
 
  
Certain implementations use the (inout)  argc,  argv arguments of the  
C/C++ version  
of  MPI_INIT in order to propagate values for  argc and   
 argv to all  
executing processes.  
  
Use of the Fortran  
version of  MPI_INIT to initialize  MPI may result in a loss  
of this ability.  
 ( End of advice to users.) 
 
  
The function MPI_INITIALIZED returns the same answer in all languages.
The function MPI_FINALIZE finalizes the MPI environments for all languages.
The function MPI_FINALIZED returns the same answer in all languages.
The function MPI_ABORT kills processes, irrespective of the language used by the caller or by the processes killed.
The MPI environment is initialized in the same manner for all languages by MPI_INIT. E.g., MPI_COMM_WORLD carries the same information regardless of language: same processes, same environmental attributes, same error handlers.
Information can be added to info objects in one language and retrieved in another.
 
  
 
 
 Advice to users.  
 
The use of several languages  in one  MPI program may require the use  
of special options at compile and/or link time.  
 ( End of advice to users.) 
 
 
 
 Advice  
        to implementors.  
 
Implementations may selectively link language specific  MPI libraries  
only to codes that need them, so as not to increase the size of  
binaries for codes that use only one language.  
The  MPI initialization code need perform initialization for a language  
only if that language library is loaded.  
 ( End of advice to implementors.)