Artikel-ID: 000077602 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 11.09.2012

Wie kann ich eine C-Datei in mein Nios II C-Softwareprojekt einbeziehen?

Umgebung

  • Intel® Nios® II Prozessor
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    C2H unterstützt die Erzeugung von Beschleunigern aus C-Dateien nicht. 

     

    Es gibt eine Anleitung, die es Ihnen ermöglicht, Ihren Beschleuniger(en) aus einem C-Programm aufzurufen, bei dem die Funktionen verschoben werden, die Sie von einer C-Quelldatei in eine C-Quelldatei beschleunigen möchten.  Sobald Sich Ihre Funktionen in einer C-Quelldatei befinden, kann der C2H Compiler sie effektiv "sehen" und in Hardwarebeschleuniger konvertieren. 

     

    Für das Mischen von C- und C-Funktionen (und Dateien) sind einige zusätzliche Schritte erforderlich.

     

    Die GNU Tool-Chain unterstützt das Aufrufen von C-Funktionen aus C-Programmen (und vice.0) durch eine genau definierte Methodik expliziter Aussagen.    Die Art und Weise, wie dies funktioniert, besteht darin, dass Sie dem Compiler aus Ihrem C-Programm sagen, welche Funktionen als C-Funktionen anstatt als C aufgerufen werden sollen.  Dieser Vorgang erfolgt durch den Einsatz des extern verwendeten "C" innerhalb der C-Quelldatei.

     

    Einige Beispiele für das externe "C" in Aktion sind:

    1. C-Funktion aus dem C-Programm aufrufen

    Setup:  Sie haben eine Function void bar(void), die in der C-Quelldatei "bar.c", die Sie aus der C-Quelldatei "the.cpp" aufrufen möchten, gespeichert ist.

    Lösung:  Fügen Sie dies zur Oberseite von "the.cpp"- hinzu.  

                    extern "C" void (void);

     

    1. Aufrufen von C-Funktionen aus dem C-Programm

    Setup:  Eine Sammlung von Funktionen, die in der C-Quelldatei "bar.c", die Sie aus der C-Quelldatei "the.cpp" aufrufen möchten, gespeichert ist.

    Lösung:  Fügen Sie einfach bmuras um die Funktionsgruppe oben in der extern-Anweisung in "the.cpp"- hinzu.  

                    extern "C" {

    void (void);

    int(int number);

    int( int number1, int number2);

    }

     

    1. Aufrufen eines C-Headers aus einem C-Programm

    Setup: Sie haben eine ganze Sammlung von C-Funktionen (oder eine Bibliothek) in einer Datei namens "bar.c", die Sie aus Ihrem C-Programm "dann.c" aufrufen möchten, und möchten sie im Rahmen des Verfahrens Nr. 2 (oben) wirklich nicht einzeln auflisten.  Sie haben eine Header-Datei für "bar.c" namens "bar.h", die die Schnittstelle zu den Funktionen beschreibt.

    Lösung: Die externe Anweisung funktioniert auch für Header-Dateien ... Verwenden Sie in der Datei "the.cpp" die extern-Anweisung, um die Header-Datei hinzuzufügen.

                    extern "C" {

                                    #include "bar.h"

    }

     

     

    Welche Methodik ist am besten mit C2H zu verwenden? Mit dem C2H-Compiler wird empfohlen, dass ein Benutzer die Funktion zur Beschleunigung in eine eigene Datei "isolieren" kann. Daher ist das erste Beispiel der beste Ansatz für die Beschleunigung von Funktionen mit dem C2H-Compiler.

     

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® programmierbare Geräte

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.