ID de l'article: 000077602 Type de contenu: Information et documentation de produit Dernière révision: 11/09/2012

Comment inclure un fichier C dans mon projet logiciel Nios II C ?

Environnement

  • Processeur Intel® Nios® II
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    C2H ne prend pas en charge la génération d’accélérateurs à partir de fichiers C. 

     

    Il existe une procédure contournable qui vous permettra d’appeler votre accélérateur à partir d’un programme C qui implique de déplacer les fonctions que vous souhaitez accélérer d’un fichier source C à un fichier source C.   Une fois que vos fonctions se trouvent dans un fichier C source, le compilateur C2H peut efficacement les « voir » et les convertir en accélérateurs matériels. 

     

    Certaines étapes supplémentaires sont nécessaires pour le mélange des fonctions C et C (et fichiers).

     

    La chaîne d’outils GNU prend en charge l’appel des fonctions C des programmes C (et vice versa) par le biais d’une méthodologie bien définie de l’extibilité explicite.     La façon dont cela fonctionne est que, dans votre programme C, vous indiquez au compilateur quelles fonctions doivent être appelées fonctions C au lieu de C .   Cette opération est réalisée grâce à l’utilisation de la syntaxe « C » de l’extern dans le fichier source C.

     

    Voici quelques exemples de la syntaxe « C » de l’écran d’écran extern en action :

    1. Appel de la fonction C du programme C

    Configuration :   vous avez une barre (non nulle)fonction qui vit dans le fichier source C « bar.c » que vous souhaitez appeler à partir du fichier source C « foo.cpp ».

    Solution :   ajoutez-le au sommet de « foo.cpp » -  

                    « C » vide foo(void) ;

     

    1. Appel des fonctions C du programme C

    Configuration :   un ensemble de fonctions qui vit dans le fichier C source « bar.c » que vous souhaitez appeler à partir du fichier C source « foo.cpp ».

    Solution :   il suffit d’ajouter des amorciateurs autour du groupe de fonctions en haut de la déclaration de l’extern dans « foo.cpp » -  

                    extern « C » {

    foo(non nul) ;

    int foo2 (nombre int) ;

    int foo3 (int numéro1, int numéro2) ;

    }

     

    1. Appel d’un en-tête C dans un programme C

    Configuration : vous avez toute une collection de fonctions C (ou une bibliothèque) dans un fichier appelé « bar.c » que vous souhaitez appeler à partir de votre programme C « foo.c », et vous ne voulez vraiment pas les lister individuellement par la procédure #2 (ci-dessus).   Vous disposez d’un fichier en-tête de « bar.c » appelé « bar.h » qui identifie l’interface aux fonctions.

    Solution : la déclaration d’extern fonctionne également pour les fichiers en-tête... Dans le fichier « foo.cpp », utilisez la déclaration de l’extern pour ajouter le fichier en-tête-

                    extern « C » {

                                    #include « bar.h »

    }

     

     

    Quelle méthodologie est la meilleure à utiliser avec C2H ? Avecle compilateur C2H, il est recommandé à l’utilisateur d'« isoler » la fonction d’accélération dans son propre fichier. À l’aide du premier exemple, il est donc recommandé d’accélérer les fonctions avec le compilateur C2H.

     

    Produits associés

    Cet article concerne 1 produits

    Circuits programmables Intel®

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.