"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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.