Articles of dynamic

Création de vecteur dynamic sur une structure prédéfinie

J’ai une structure prédéfinie à utiliser: typedef struct somestruct_s { int s; union { unsigned char *ptr; unsigned char l_ptr[sizeof(char *)]; }; }somestruct_t, *somestruct; Il contient l’union pour réduire l’utilisation de la mémoire. Je sais que la taille peut varier en raison de la compilation m32 et m64 (taille du pointeur). Ma question est de […]

Comment puis-je allouer de la mémoire pour tableau dans une fonction

J’essaie de recevoir un numéro de l’utilisateur. Et créez un tableau avec ce nombre, mais dans une fonction. Voici mes quelques tentatives, je me retrouve dans des erreurs d’exécution. L’aide est très appréciée. #include #include int* Init(int* p, int num); int main() { int *p; int num, i; puts(“Enter num of grades:”); scanf(“%d”, &num); Init(&p, […]

Comment écrire un wrapper MPI pour un chargement dynamic

Étant donné que MPI n’offre pas de compatibilité binary, mais uniquement la compatibilité de source, nous sums obligés d’expédier notre code source de solutionneur aux clients pour qu’ils utilisent notre solution de résolution avec leur version préférée de MPI. Nous avons atteint le point où nous ne pouvons plus offrir de code source. En conséquence, […]

Passer une fonction avec un nombre indéterminé d’arguments et l’appeler avec les arguments variadiques

Je voudrais créer une fonction “lazy” qui accepte une fonction avec un nombre indéterminé d’arguments en paramètre. De quel type ai-je besoin ou quels moulages doivent être faits? Ensuite, je veux exécuter cette chose plus tard dans la fonction “évaluer”. Comment puis-je alors passer les arguments que j’ai passés avant à la fonction “lazy” au […]

Existe-t-il d’autres méthodes semi-portables / portables pour allouer dynamicment de la mémoire?

ce: char *buf = NULL; scanf(“%ms”, &buf); obtiendra un tampon de caractères alloué dynamicment. Je sais que cela se limite au code compilé avec Gcc (et plus précisément à la version 2.7 de glibc). Je suis également conscient que la méthode “correcte” et portable consiste simplement à utiliser malloc() (et ses amis) pour obtenir la […]

forcer la liaison avec un SONAME différent de celui de la bibliothèque

Comment lier un fichier binary de manière à être compatible avec deux versions existantes d’une bibliothèque ayant SONAME en conflit? Ces deux versions ne partagent pas le même préfixe SONAME. L’un est libcapi10.so.3 et l’autre est libcapi10.so.4. Je ne peux pas les recomstackr puisque je les ai sous forme binarys, et comme ce sont des […]

Différences entre les bibliothèques statiques et les bibliothèques dynamics en ignorant leur utilisation par l’éditeur de liens / le chargeur

Je comprends comment les bibliothèques statiques / dynamics sont utilisées par l’éditeur de liens / le chargeur. Cependant, pourquoi ne pas avoir un seul type de fichier de bibliothèque accompagné d’indicateurs de compilation qui indiquent comment la bibliothèque doit être liée (statique vs dynamic)? Par le simple fait que nous avons des bibliothèques statiques et […]

Quels problèmes d’alignement limitent l’utilisation d’un bloc de mémoire créé par malloc?

J’écris une bibliothèque pour divers calculs mathématiques en C. Plusieurs d’entre eux ont besoin d’espace «scratch» – mémoire utilisée pour les calculs intermédiaires. L’espace requirejs dépend de la taille des entrées, il ne peut donc pas être alloué de manière statique. La bibliothèque sera généralement utilisée pour effectuer plusieurs itérations du même type de calcul […]

C longueur de chaîne dynamic

Il existe différentes manières de créer des chaînes dynamics en C (avec une longueur qui change constamment). Après quelques recherches sur google, le moyen principal de le faire est d’utiliser realloc () . Une façon dont j’ai implémenté cela consiste à utiliser des listes chaînées avec des blocs de 32 octets pour chaque nœud. Je […]

Heap allocation de mémoire

Si j’alloue dynamicment de la mémoire dans mon programme à l’aide de malloc() mais que je ne libère pas la mémoire pendant l’exécution du programme, la mémoire allouée dynamicment sera-t-elle libérée une fois le programme terminé? Ou, s’il n’est pas libéré et que j’exécute le même programme encore et encore, est-ce qu’il allouera les différents […]