Articles of c #

Comment obtenir des notifications pour les événements de carte SD?

Je veux vérifier la présence d’une carte SD et recevoir des notifications pour l’ajout / la suppression d’une carte SD. Jusqu’à présent, j’ai utilisé libudev , et j’ai créé une petite application qui écoute les événements de carte SD. Le code est listé ci-dessous: #include #include #include #include #include #include #include //debug -> remove me […]

API de profilage de cache simple

Existe-t-il un moyen d’accéder par programmation aux compteurs matériels (Intel) de chaque cœur? (c’est-à-dire, pas de perf , valgrind ou valgrind , et je devrais append “simple”, donc pas de PAPI , par exemple) Je voudrais savoir (pour chaque kernel) combien de certains programmes s’exécutant sur ce kernel). C’est pour Linux 3.2.0-32, C, et en […]

Déclaration implicite de ‘obtient’

Je comprends qu’une «déclaration implicite» signifie généralement que la fonction doit être placée en haut du programme avant de l’appeler ou que je dois déclarer le prototype. Cependant, gets devrait être dans les fichiers stdio.h (que j’ai inclus). Est-ce qu’il y a un moyen de réparer ceci? #include #include int main(void) { char ch, file_name[25]; […]

Impossible de lier un programme exemple au serveur LDAP via SSL (ldaps: //)

J’ai un exemple de programme ici qui tente de se connecter au serveur LDAP sur le port sécurisé (ldaps: //). Cependant, le programme exemple ne peut pas être lié au serveur. #define LDAP_DEPRECATED 1 #include #include #define BIND_DN “dc=example,dc=com” #define BIND_PW “secret” int main() { LDAP *ld; int rc; int reqcert = LDAP_OPT_X_TLS_NEVER; int version […]

Les sockets de domaine Unix 100x moins rapides sous Solaris 10 que sous Linux?

Je compare les performances des sockets locales sous Linux et Solaris pour un projet. Pour une raison quelconque, je ne peux pas savoir, les performances sous Solaris sont à peu près 100 fois plus faibles que sous Linux. Sous Linux, ouvrir un socket, échanger un message très court (2 caractères) et le fermer prend environ […]

Quelle est la différence entre dma_mmap_coherent et remap_pfn_range?

Actuellement, j’utilise un exemple de pilote à partir duquel je peux apprendre et à partir duquel j’ai basé mon propre pilote personnalisé. Le code mmap est presque identique, sauf que je permets à l’utilisateur de gérer sa propre taille et de baser mon allocation de mémoire autour de cela et que je crée automatiquement le […]

Comprend avec le lieur Linux GCC

Je ne comprends pas comment GCC fonctionne sous Linux. Dans un fichier source, quand je fais un: #include Le compilateur extrait-il le code binary approprié et l’insère-t-il dans l’exécutable compilé OU le compilateur insère-t-il une référence à un fichier binary externe (une DLL Windows?) Je suppose qu’une version générique de cette question est: Y at-il […]

Difficultés avec l’appel d’une fonction Android NDK directement depuis Delphi

Il est possible d’appeler une fonction C Android depuis Delphi via JNI et NDK . Mettre en œuvre cela demande beaucoup de travail et il a été suggéré d’appeler directement les fonctions NDK. À cet effet, j’ai créé un petit fichier d’exemple pour déclarer une fonction C externe le long des lignes trouvées dans le […]

Un processus fils généré par “fork ()” peut-il avoir un identifiant de processus moins que son parent?

Un processus fils généré par fork() avoir un identifiant de processus inférieur à son parent (sans dépasser la limite maximale)? Le PID est généralement la prochaine valeur disponible, mais peut-il être inférieur à celui du parent?

Linux CreateProcess?

Je développe sur la plateforme Linux. Je veux créer un nouveau processus dans ma bibliothèque sans remplacer l’image en cours d’exécution. Parce que je développe une bibliothèque, je n’ai pas de fonction principale. Et je veux continuer le nouveau processus après la fermeture de l’application invocateur (tout comme l’API CreateProcess Windows). Est-ce possible sous Linux […]