Intrinsische Funktion

Intrinsische Funktion

Hochsprachen-Compiler unterstützen häufig sogenannte Intrinsic Functions oder Intrinsics, bei denen prozessorspezifische Operationen in Funktionsaufrufe gekapselt werden. Anders als bei der Verwendung von inline-Assembler kann der Compiler Intrinsic Functions in vollem Umfang bei Optimierungen berücksichtigen.

Häufig muss man für die Verwendung von Intrinsic Functions bestimmte Headerdateien einbinden und/oder bestimmte Compiler-Optionen setzen[1]. Meist ist durch die Namensgebung der Intrinsic Functions sichergestellt, dass sie sich von library- oder eigenen Funktionen unterscheiden, zum Beispiel durch zwei Unterstriche als Präfix.

Beispiele

Die Programmzeile

u32_intvalue = __ROUND(f_floatvalue);

wird vom C-Compiler für den R32C in den Assembler-Code ROUND übersetzt, wobei der Compiler die Kontrolle über die für die Variablen verwendeten Prozessor-Register hat[2]. Der ROUND-Opcode wandelt beim R32C eine Gleitkommazahl unter Berücksichtigung des für den Prozessor eingestellten Rundungsmodus in eine Integer-Zahl um.

Microsoft und Intel's C/C++ compiler sowie auch GCC implementieren intrinsische Funktionen die direkt auf die x86 SIMD Instruktionen (MMX, SSE, SSE2, SSE3, SSSE3, SSE4) abgebildet werden. In den neueren Versionen der Microsoft Compiter (VC2005 und VC2008) wird kein inline Assembler für 64 Bit Anwendungen unterstützt.[3] Um das Fehlen des inline Assemblers zu kompensieren wurden zusätzliche intrisische Funktionen hinzugefügt, die auf Standard Assembler Instruktionen, wie bit scan, abgebildet werden, die ansonsten nicht durch C/C++ erreichbar sind.

Einzelnachweise

  1. Visual C++ Language Reference Kapitel Compiler Intrinsics von Microsoft im MSDN
  2. Absatz INTRINSIC FUNCTIONS im R32C IAR C/C++ Compiler Reference Guide der Fa. IAR Systems
  3. Visual Studio 2010 SDK: Intrinsics and Inline Assembly. Microsoft. Abgerufen am 16. April 2010.

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Kreuzbandriss — Klassifikation nach ICD 10 S83.50 Nicht näher bezeichnetes Kreuzband Inkl.: Kreuzbandriss o.n.A. S83.53 Riss des vorderen Kreuzbandes Inkl.: Partieller oder kompletter R …   Deutsch Wikipedia

  • Beweggrund — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Motivationspsychologie — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Motivationstheorie — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Motiviert — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Primärmotivation — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Sekundärmotivation — Motivation (von lat. motus, „Bewegung“) bezeichnet in den Humanwissenschaften sowie in der Ethologie einen Zustand des Organismus, der die Richtung und die Energetisierung des aktuellen Verhaltens beeinflusst. Mit der Richtung des Verhaltens ist… …   Deutsch Wikipedia

  • Motivation — Der Begriff Motivation bezeichnet das auf emotionaler bzw. neuronaler Aktivität (Aktivierung) beruhende Streben nach Zielen oder wünschenswerten Zielobjekten und ist somit eine Art Triebkraft für Verhalten.[1] Inhaltsverzeichnis 1 Geschichte 2… …   Deutsch Wikipedia

  • Ras (Biologie) — GTPase NRas mit GDP und Mg2+ nach PDB  …   Deutsch Wikipedia

  • Ras (Protein) — GTPase NRas mit GDP und Mg2+ nach PDB  …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”