Quelle est la différence entre le vide inline statique et le vide?

Je travaille dans le langage C et la modification de code déjà écrit par quelqu'un d'autre. Je suis aux prises avec un peu de choses et j'essaie de comprendre autant que je peux sur ce qui se passe comme je peux. Donc, ma question a déclaré, quelle est la différence entre static inline void et void lors de la création d'une fonction? Je m'excuse d'avance pour le long post, mais je voulais que tu saches que je n'ai fais quelques recherches, mais ne pas comprendre ce que j'ai trouvé.

J'ai trouvé une explication de statique qui me confond:

La statique spécificateur indique que la fonction ne peut pas être référencé
à partir d'autres fichiers, qui est, le nom n'est pas exportée par l'éditeur de liens.

En lisant cela, je suis en supposant que le référencement d'une fonction est différente de celle de l'appel d'une fonction? Je suppose que parce que cette fonction est appelée à partir d'un autre .c fichier. Si c'est le cas, qu'est-ce que le référencement d'une fonction?

Sur ce même site, ils expliquent les fonctions inline et je ne comprends pas ce que cela signifie.

__Mot-clé inline indique au compilateur de remplacer le code à l'intérieur
la définition de la fonction pour chaque instance d'un appel de fonction.
Cependant, la substitution se produit uniquement au compilateur de discrétion. Pour
exemple, le compilateur ne pas incorporer une fonction si son adresse est
ou si elle est trop grande à en ligne.

Hein???

Toute aide est grandement appréciée, et encore une fois, je m'excuse pour le terriblement long post.

La suite est situé dans fichier1.c (à l'Aide de noms génériques comme je ne pense pas que c'est important)

COMPLEX cNoiseSample;
CGauss( &cNoiseSample, loopbackRadio->pState );

La suite est situé dans fichier2.c

static inline void CGauss( COMPLEX * pcGauss, P_OS_UNIFORM_RAND_STATE pState )
{
    //code
}

source d'informationauteur TZPike05