"INTRINSIC" Funktion ?

#2010844
Lesenswert?

Jan schrieb:
> Hallo allerseits,
>
> ich verwende ein Library in deren Funktionsbeschreibung einige
> Funktionen als "INTRINSIC" bezeichnet werden. Was bedeutet dies?

Was es genau bedeutet steht in der Doku zu deinem Compiler, da es sich 
um keine Standard-C Schlüsselwort handelt.

Intrinsic wird meistens verwendet um anzuzeigen, dass der Compiler das 
Verhalen einer Funktion kennt und mit dieser Funktion wie mit einer 
inline Funktion arbeitet, selbst wenn er den Funktionsrumpf nicht sieht.

strlen ist zb so ein Kandidat.
Die Funktion ist trivial und man hat in den Compiler eingebaut wie sie 
funktioniert. D.h. auch ohne das der Compiler die Implementierung der 
Funktion sieht wird er sich so verhalten, als ob er ein
1
inline size_t strlen( const char * s )
2
{
3
  size_t result = 0;
4
  while( *s++ )
5
    result++;
6

7
  return result;
8
}
vorgesetzt bekommen hätte. Wobei er bei intrinsic Funktionen nicht erst 
lange den C-Code analysiert, sondern die 'Übersetzung' quasi schon 
eingebaut hat und mit viel mehr Wissen in den Code einbauen kann.
Intrinsic könnte man als 'in den Compiler eingebaute Funktionen' 
bezeichnen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren