Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #109276
| From | "A. Bolmarcich" <aggedor@earl-grey.cloud9.net> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Approach to create/use containers in C |
| Date | 2017-05-04 21:47 +0000 |
| Organization | Netfront http://www.netfront.net/ |
| Message-ID | <slrnogn8at.1118.aggedor@earl-grey.cloud9.net> (permalink) |
| References | <e83257d9-b73b-4e33-bdab-0703c6dda5be@googlegroups.com> |
On 2017-05-04, Thiago Adams <thiago.adams@gmail.com> wrote: > I need to create many dynamic arrays and some maps in C for different types. > > How do you deal with this problem? [snip] When I did it years ago, I used an approach like #define ARRAY_TYPE MYTYPE #include "ARRAY.h" #udef ARRAY_TYPE I used a single include file instead of separate DECLARE_ARRAY and IMPLEMENT_ARRAY files. A #define before the #include controlled whether the include file was to produce declarations or definitions. The containers held structs rather than individual variables. Memory management of those structs was the responsibility of the program that used the container. One of the elements of that struct was of a type with a name like ARRAY_LINK. The typename was a struct declared by the include file. The generated functions accessed only the elements of ARRAY_LINK. The generated functions were usually short. By default, they were defined as static so that optimizing compilers could inline calls to the generated function or generate function call code that was compact. The generated functions were type-specific to the struct held in a container.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 06:13 -0700
Re: Approach to create/use containers in C Jerry Stuckle <jstucklex@attglobal.net> - 2017-05-04 09:27 -0400
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 15:26 +0200
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 15:29 +0200
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 06:40 -0700
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 15:49 +0200
Re: Approach to create/use containers in C bartc <bc@freeuk.com> - 2017-05-04 16:38 +0100
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 09:59 -0700
Re: Approach to create/use containers in C bartc <bc@freeuk.com> - 2017-05-04 18:45 +0100
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-05 10:22 -0700
Re: Approach to create/use containers in C Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-05-04 06:33 -0700
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 15:40 +0200
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 06:54 -0700
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 16:06 +0200
Re: Approach to create/use containers in C Richard Heathfield <rjh@cpax.org.uk> - 2017-05-04 15:46 +0100
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 07:50 -0700
Re: Approach to create/use containers in C Richard Heathfield <rjh@cpax.org.uk> - 2017-05-04 16:10 +0100
Re: Approach to create/use containers in C Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-05-04 08:18 -0700
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 09:48 -0700
Re: Approach to create/use containers in C Richard Heathfield <rjh@cpax.org.uk> - 2017-05-04 17:55 +0100
Re: Approach to create/use containers in C Ike Naar <ike@iceland.freeshell.org> - 2017-05-04 22:04 +0000
Re: Approach to create/use containers in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-04 20:03 +0100
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 12:25 -0700
Re: Approach to create/use containers in C Robert Wessel <robertwessel2@yahoo.com> - 2017-05-04 15:03 -0500
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 13:09 -0700
Re: Approach to create/use containers in C Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-05 01:34 -0700
Re: Approach to create/use containers in C GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-04 17:17 +0200
Re: Approach to create/use containers in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-04 19:36 +0100
Re: Approach to create/use containers in C Robert Wessel <robertwessel2@yahoo.com> - 2017-05-04 12:09 -0500
Re: Approach to create/use containers in C Robert Wessel <robertwessel2@yahoo.com> - 2017-05-04 12:17 -0500
Re: Approach to create/use containers in C Thiago Adams <thiago.adams@gmail.com> - 2017-05-04 10:30 -0700
Re: Approach to create/use containers in C Ian Collins <ian-news@hotmail.com> - 2017-05-05 07:50 +1200
Re: Approach to create/use containers in C Keith Thompson <kst-u@mib.org> - 2017-05-04 11:29 -0700
Re: Approach to create/use containers in C Andreas Perstinger <andipersti@gmail.com> - 2017-05-04 18:34 +0000
Re: Approach to create/use containers in C Robert Wessel <robertwessel2@yahoo.com> - 2017-05-04 15:07 -0500
Re: Approach to create/use containers in C Doug Weiman <no@nyet.net> - 2017-05-04 21:19 +0000
Re: Approach to create/use containers in C Keith Thompson <kst-u@mib.org> - 2017-05-04 14:41 -0700
Re: Approach to create/use containers in C Doug Weiman <no@nyet.net> - 2017-05-04 22:30 +0000
Re: Approach to create/use containers in C "A. Bolmarcich" <aggedor@earl-grey.cloud9.net> - 2017-05-04 21:47 +0000
Re: Approach to create/use containers in C luser droog <luser.droog@gmail.com> - 2017-05-05 00:43 -0700
csiph-web