Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.c > #391241
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: What is your opinion about init_malloc? |
| Date | 2025-03-15 09:02 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <86tt7uqo2u.fsf@linuxsc.com> (permalink) |
| References | <vr1e67$1fa1p$1@dont-email.me> |
Thiago Adams <thiago.adams@gmail.com> writes:
> 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});
>
> }
Some facility along these lines looks like it would be useful, but
in terms of what is shown here the implementation is ugly and the
interface is poorly chosen. For starters the initializing function
should be for internal use only, so all client use is through some
higher-level macro interface. Also the interface name ALLOC is a
terrible choice.
Back to comp.lang.c | Previous | Next — Previous in thread | Find similar
What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-14 11:24 -0300
Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 16:49 +0100
Re: What is your opinion about init_malloc? wij <wyniijj5@gmail.com> - 2025-03-14 23:56 +0800
Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 17:13 +0100
Re: What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-14 13:24 -0300
Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 17:29 +0100
Re: What is your opinion about init_malloc? wij <wyniijj5@gmail.com> - 2025-03-15 00:31 +0800
Re: What is your opinion about init_malloc? Richard Heathfield <rjh@cpax.org.uk> - 2025-03-14 16:50 +0000
Re: What is your opinion about init_malloc? Bonita Montero <Bonita.Montero@gmail.com> - 2025-03-14 18:04 +0100
Bonita (Was: What is your opinion about init_malloc?) gazelle@shell.xmission.com (Kenny McCormack) - 2025-03-15 12:05 +0000
Re: What is your opinion about init_malloc? Kaz Kylheku <643-408-1753@kylheku.com> - 2025-03-14 20:06 +0000
Re: What is your opinion about init_malloc? Thiago Adams <thiago.adams@gmail.com> - 2025-03-15 11:08 -0300
Re: What is your opinion about init_malloc? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-15 09:11 -0700
Re: What is your opinion about init_malloc? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-15 09:02 -0700
csiph-web