Articles of En

Inclusion d’un fichier d’en-tête dans un fichier d’en-tête sans exposer son contenu à l’installateur

Je voudrais écrire un wrapper c ++ pour une API C. pour cela, il est plus pratique d’inclure simplement l’en-tête C-API dans mon propre en-tête, mais cela inclut également l’en-tête dans le fichier du système externe, qui ne doit pas être exposé à C-API. capi.h enum MyFlags { MY_FLAG_A, MY_FLAG_B, }; void FOO_bar(int flags); cppapi.hh […]

La compilation du fichier c ++ a échoué car je ne trouve pas la définition de `ssize_t`

J’ai un fichier d’en-tête c ++ socket_client.h avec un fichier source c ++ socket_client.cc . Dans socket_client.h , j’ai des exemples de code comme celui-ci: #include #include ssize_t Send(const void *msg, const size_t msg_size/*send msg size*/); … Dans socket_client.cc , j’ai l’extrait de code comme ceci: #include “somewhere/socket_client.h” #include … Quand je comstack ceci avec […]

Déclarer la taille d’un tableau dans le fichier d’en-tête sans # define

J’ai un code à suivre (version simplifiée): #define MESSAGE_SIZE_MAX 1024 #defined MESSAGE_COUNT_MAX 20 class MyClass { public: .. some stuff private: unsigned char m_messageStorage[MESSAGE_COUNT_MAX*MESSAGE_SIZE_MAX]; }; Je n’aime pas les définitions visibles par tous les utilisateurs de MyCalss. Comment puis-je le faire en style C ++? Merci Dima

incorporer un fichier texte dans un fichier exe accessible à l’aide de fopen

Je voudrais intégrer un fichier texte avec des données dans mon programme. appelons cela ” data.txt “. Ce fichier texte est généralement chargé avec une fonction qui nécessite le nom du fichier texte en tant qu’entrée et est finalement ouverte à l’aide d’un appel fopen () FILE* name = fopen(“data.txt”); Je ne peux pas vraiment […]

Tableau wchar_t dynamic (débutant en C ++)

Je modifie du code C ++ qui a un wchar_t myArray[MAX_PATH] dans le fichier d’en-tête. Mes modifications signifient que je ne peux pas connaître la longueur de ce tableau avant l’exécution. Comment puis-je stocker un tableau de longueur dynamic à la place? Peut-être que je conserve juste un wchar_t* dans le fichier d’en-tête et un […]

Obtenir les données d’en-tête NT actuelles du processus en cours d’exécution avec C / C ++

C’est mon premier post et je suis coincé ici. Je suis en train de travailler sur mon projet et j’ai un problème. Je récupère le baseaddress de mon propre module et je lis la mémoire de processus pour que IMAGE_DOS_HEADER soit exécuté puis je continue à append e_lanew à partir de la structure IMAGE_DOS_HEADER de […]

C / C ++ Forward forward vs. Include

Que se passe-t-il lorsque vous incluez un fichier et que se passe-t-il lorsque vous déclarez une fonction / une classe? Si deux fichiers incluent le même fichier, le premier réussira à lire toute la fonction, le second échouera mais pourra toujours utiliser les fonctions. Que se passe-t-il lorsque je déclare une fonction? Cette fonction est-elle […]

Travailler avec unique_ptr , le vecteur et int dans une fonction modélisée

Dis que j’ai 3 variables: vector vec(3); int stat[3]; auto dyn = make_unique(3); Je peux initialiser n’importe lequel de ceux-ci si je connais la taille est 3: for(auto i = 0; i < 3; ++i) X[3] = i; Où X est soit, vec , stat ou dyn . Mais j’aimerais pouvoir le faire dans un […]

Pourquoi strcpy_s n’existe-t-il nulle part sur mon système?

J’utilise clang sur un système Debian 8. J’ai les en-têtes standard C ++. Et pourtant, il n’y a pas d’en-tête définissant strcpy_s . Pourquoi est-ce? # grep -iRHI ‘strcpy_s’ /usr 2>/dev/null /usr/include/x86_64-linux-gnu/bits/ssortingng2.h: ? __strcpy_small (dest, __strcpy_args (src), \ /usr/include/x86_64-linux-gnu/bits/ssortingng2.h:__STRING_INLINE char *__strcpy_small (char *, __uint16_t, __uint16_t, /usr/include/x86_64-linux-gnu/bits/ssortingng2.h:__strcpy_small (char *__dest, /usr/include/x86_64-linux-gnu/bits/ssortingng2.h:__STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2, /usr/include/x86_64-linux-gnu/bits/ssortingng2.h:__strcpy_small […]

Déplacement des déclarations de méthode C ++ d’un fichier .hh à un fichier .cc

Je travaille sur un projet C ++ dans lequel de nombreuses classes ont des classes, des méthodes et tout dans un seul fichier. C’est un gros problème, car les implémentations de méthodes nécessitent souvent des instructions #include, et tout fichier qui souhaite utiliser une classe hérite de ces #includes de manière transitoire. Je pensais simplement […]