The calling convention determines how a program makes a call to a routine, how the arguments are passed, and how the routines are named. See Adjusting Naming Conventions in Mixed-Language Programming.
In a single-language program, calling conventions are nearly always correct, because there is one default for all routines and because header files or Fortran module files with interface blocks enforce consistency between the caller and the called routine.
In a mixed-language program, different languages cannot share the same header files. If, as a result, you link Fortran and C routines that use different calling conventions, the error is not apparent until the bad call is made at run time. During execution, the bad call causes indeterminate results and/or a fatal error, often somewhere in the program that has no apparent relation to the actual cause: memory/stack corruption due to calling errors. Therefore, you should check carefully the calling conventions for each mixed-language call.
The discussion of calling conventions between languages applies only to external procedures. You cannot call internal procedures from outside the program unit that contains them.
A calling convention affects programming in four ways:
See these topics:
ATTRIBUTES Properties and Calling Conventions
Fortran/C Calling Conventions