Articles of c

Passer le pointeur à la variable locale pour fonctionner: est-ce sûr?

Par exemple: void func1(){ int i = 123; func2(&i); } void func2(int *a){ *a = 456; } Lorsque func1 appelle func1 , un pointeur sur une variable locale est transmis à func2 – le pointeur est pointé sur la stack. Est-ce sécuritaire pour les règles de C? Merci.

Quelle taille maximale de tableaux statiques est autorisée en C?

Dans mon algorithme, je sais travailler avec des tableaux statiques, pas dynamics. Mais j’atteins parfois la limite de la stack. Ai-je raison de dire que les tableaux statiques sont stockés dans la stack? Quels parameters affectent ma taille de stack maximale pour un programme C? Existe-t-il de nombreux parameters système qui affectent la taille maximale […]

Pourquoi est-ce que make “make: rien à faire pour” tous “.?

Ceci est un module “Hello.c” et “Makefile”. Après avoir exécuté make partir du répertoire woking, je reçois le message suivant: make: Rien à faire pour “tous”. C’est le fichier “Hello.c”: #include // included for all kernel modules #include // included for KERN_INFO #include // included for __init and __exit macros MODULE_LICENSE(“GPL”); MODULE_AUTHOR(“Lakshmanan”); MODULE_DESCRIPTION(“A Simple Hello […]

comment utiliser EOF stdin en C

Je dois entrer les coordonnées dans un tableau jusqu’à ce que EOF soit rencontré, mais quelque chose ne va pas dans mon code. J’ai utilisé ctrl + z, ctrl + d int main() { int x[1000],y[1000]; int n=0,nr=0,a,b,i; printf(“Enter the coordinates:\n”); while(scanf ( “%d %d “, &a, &b) == 2) { x[n]=a; y[n]=b; n++; } […]

Code intermédiaire résultant des pragmas OpenMP

Existe-t-il un moyen de mettre la main sur le code source intermédiaire produit par les pragmas OpenMP? Je voudrais voir comment chaque type de pragmas est traduit. À votre santé.

Le qualificatif de type restreint C99 / C11 implique-t-il quelque chose pour des fonctions sans définition?

Supposons que nous ayons une déclaration de fonction pour laquelle nous n’avons pas access à sa définition: void f(int * ressortingct p, int * ressortingct q, int * ressortingct r); Comme nous ne soaps pas comment les pointeurs seront accédés, nous ne pouvons pas savoir si un appel déclenchera ou non un comportement indéfini – […]

communication entre deux processus enfants avec des tuyaux

J’essaie d’écrire du code qui génère deux processus enfants qui s’envoient un message via un canal, puis se terminent. Cependant, lorsque j’exécute le code suivant, seul l’enfant 2 affiche son message d’accueil, mais l’enfant 1 continue d’afficher le message qu’il reçoit de l’enfant 2 alors que l’enfant 1 ne le fait pas. Est-ce que quelqu’un […]

Comment accéder aux membres d’un pointeur dans une variable Struct en C?

Je ne suis pas nouveau en C, mais je viens de découvrir un problème auquel je dois faire face. Comment accéder au membre d’une structure qui est un pointeur sur une autre structure? ex. typdef struct { int points; } sortingbute; typedef struct { int year; sortingbute *victor; } game; int main(){ sortingbute myVictor; myVictor.points […]

liste chaînée ajoutant à la queue, confusion

Visual Studio 2008 C Ce que je ne comprends pas à propos de cette liste chaînée, c’est l’ajout à la queue dans l’autre partie de l’instruction if. Lorsque la tête et la queue sont assignées, l’adresse de la mémoire de node_temp à la fois la queue et la tête désignent le même emplacement mémoire. Cependant, […]

Cuda mémoire unifiée entre gpu et hôte

J’écris un programme basé sur cuda qui doit périodiquement transférer un ensemble d’éléments du GPU vers la mémoire de l’hôte. Afin de garder le processus asynchrone, j’espérais utiliser l’UMA de cuda pour avoir un tampon de mémoire et un indicateur dans la mémoire de l’hôte (afin que le GPU et le CPU puissent y accéder). […]