Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création de classe

Une définition incomprise...

Sujet résolu
    7 janvier 2024 à 14:37:38

    Bonjour,

    Mes compétences en c++ sont un peu rouillées et j'ai du mal à comprendre un bout de code...

    class HARDWARE_INTERFACE_PUBLIC RobotSystem : public hardware_interface::SystemInterface
    {
    ...
    };


    Que signifie ce HARDWARE_INTERFACE_PUBLIC svp ?

    Je ne sais pas s'il s'agit d'une variable globale ou quoi ; difficile de s'y retrouver avec tous les includes.

    Note : je sais qu'il s'agit de déclarer la classe RobotSystem qui hérite publiquement de SystemInterface

    Merci.

    -
    Edité par Neo_pas_deja_pris 7 janvier 2024 à 14:37:56

    • Partager sur Facebook
    • Partager sur Twitter
      7 janvier 2024 à 15:40:11

      D'après Google ça serait une macro définie dans le framework ros2_control.

      Extrait de code :

      #if defined _WIN32 || defined __CYGWIN__
      #ifdef __GNUC__
      #define HARDWARE_INTERFACE_EXPORT __attribute__((dllexport))
      #define HARDWARE_INTERFACE_IMPORT __attribute__((dllimport))
      #else
      #define HARDWARE_INTERFACE_EXPORT __declspec(dllexport)
      #define HARDWARE_INTERFACE_IMPORT __declspec(dllimport)
      #endif
      #ifdef HARDWARE_INTERFACE_BUILDING_DLL
      #define HARDWARE_INTERFACE_PUBLIC HARDWARE_INTERFACE_EXPORT
      #else
      #define HARDWARE_INTERFACE_PUBLIC HARDWARE_INTERFACE_IMPORT
      #endif

      -
      Edité par rouIoude 7 janvier 2024 à 15:40:33

      • Partager sur Facebook
      • Partager sur Twitter
      ...
        7 janvier 2024 à 17:33:03

        >Que signifie ce HARDWARE_INTERFACE_PUBLIC svp ?

        Comme l'indique @rouloude, il s'agit d'une MACRO; qui permet de simplifier l'utilisation de fonctions/classes implémentées dans des Dll.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          7 janvier 2024 à 18:37:45

          Une macro en plein milieu de la déclaration d'une classe...

          Ok ok merci.

          • Partager sur Facebook
          • Partager sur Twitter
            7 janvier 2024 à 20:06:09

            Une MACRO, c'est n'importe où, c'est même le plus gros problème des MACRO.
            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

            Création de classe

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown