Sujet : Re: What is your opinion about init_malloc?
De : Bonita.Montero (at) *nospam* gmail.com (Bonita Montero)
Groupes : comp.lang.cDate : 14. Mar 2025, 16:49:16
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vr1j5o$1jg76$1@raubtier-asyl.eternal-september.org>
References : 1
User-Agent : Mozilla Thunderbird
Am 14.03.2025 um 15:24 schrieb Thiago Adams:
What is your opinion about init_malloc?
One problem it solves it to initialise a const objects on heap.
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
void * init_malloc(size_t size, void * src)
{
void * p = malloc(size);
if (p) {
memcpy(p, src, size );
}
return p;
}
#define ALLOC(OBJ) ((typeof(OBJ)*) init_malloc(sizeof(OBJ), &(OBJ)))
////////// SAMPLE //////////
struct Mail {
const int id;
};
int main () {
struct Mail* p0 = ALLOC((struct Mail){.id= 1});
struct Mail* p1 = init_malloc(sizeof *p1, &(struct Mail){.id= 1});
auto p2 = ALLOC((struct Mail){.id= 1});
}
(I also posted on reddit)
C still seems to be a ridiculous language.