From: Mats Karlssohn <mats@mida.se>
Subject: Re: Compile time executed functions
Date: Wed, 04 Apr 2001 09:47:35 +0200
Date: 2001-04-04T07:47:36+00:00 [thread overview]
Message-ID: <3ACAD197.FB2C3303@mida.se> (raw)
In-Reply-To: lEHw6.434$2g1.81555482@newssvr16.news.prodigy.com
Ken Garlington wrote:
%<
> : Say I want to create a table of data. The data is constant and must not
> : change during the programs lifetime. Further more, the data is quite
> : time consuming to calculate.
> :
> : In C++ (bad word again :) I can (with some effort) write a template that
> : does all the calculations in the compiler at compile time.
>
> Could you post an example of such a template, and what in the C++ standard
> you rely upon to guarantee compile-time calculations? Also, does
> "compile-time" include "link-time", or are you not allowed to have anything
> in the table that uses addresses?
Well.. no. I must admit (quite embarresed) that I can't, I spent a few
hours during the weekend trying to put together an example, but I
couldn't
get it to work. However (and more importantly) I've seen such a thing
done, I just havn't acces to that sourcecode anymore, so I really can't
examine it. Bugger, it might be that I'm plain wrong and have fallen for
some 'good talk for the project management' (I'm NOT the manager,
but...)
> It's the part about "pasting the output" that seems odd. Why not have it
> generate a stand-alone Ada *package* (e.g, BlahBlah)? We do this now in a
> number of cases. In fact, you can have an automated build script that
> generates the code, updates the CM system with it, then does the things you
> usually expect in such a script (extract source from CM system, compile,
> link...)
Yes, I could, but:
1. I'm too lazy to do it.
2. There's quite a lot of other code/data in the package.
But this actually gives me an idea, my data table could be separate,
right ? That would render the output from the tool so small that I
actually could generate the whole source file, so that no handediting
is needed. I'll need to investigate this.
> : Am I plain stupid since I worry about when what's included in my
> : output and when time is consumed ?
>
> Not at all. However, the source generation option can be just as reliable
> (more so, since it's less dependent on compiler-specific optimizations) that
> whjat you are wanting, IMHO. Even better, you can readily reuse the concept
> if you move between languages (just have the source generation tool use a
> template file to control the form of the output).
OK
I thought that i had decided to let the tool produce an (ELF) object
file
and just pragma Import(..) a symbol from that. Now I'll investigate and
reconsider.
--
Mats Karlssohn, developer mailto:mats@mida.se
Mida Systemutveckling AB http://www.mida.se
Box 64, S-732 22 ARBOGA, SWEDEN
Phone: +46-(0)589-89808 Fax: +46-(0)589-89809
next prev parent reply other threads:[~2001-04-04 7:47 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-27 7:10 Compile time executed functions Mats Karlssohn
2001-03-27 13:30 ` Ken Garlington
2001-03-28 7:08 ` Mats Karlssohn
2001-03-28 19:07 ` Phaedrus
2001-03-29 7:41 ` Mats Karlssohn
2001-03-29 5:02 ` Ken Garlington
2001-03-29 7:58 ` Mats Karlssohn
2001-03-29 14:28 ` Ken Garlington
2001-03-29 14:48 ` Ted Dennison
2001-04-04 7:52 ` Mats Karlssohn
2001-04-04 14:05 ` Ted Dennison
2001-04-05 6:30 ` Mats Karlssohn
2001-03-29 19:48 ` Simon Wright
2001-03-31 19:30 ` Ken Garlington
2001-04-04 7:53 ` Mats Karlssohn
2001-03-30 10:41 ` Jean-Marc Bourguet
2001-03-30 16:13 ` Ken Garlington
2001-03-30 16:47 ` Jean-Marc Bourguet
2001-03-30 18:54 ` Stephen Leake
2001-04-01 8:42 ` Jean-Marc Bourguet
2001-03-31 19:30 ` Ken Garlington
2001-04-01 8:59 ` Jean-Marc Bourguet
2001-04-01 18:22 ` Ken Garlington
2001-04-02 9:30 ` Jean-Marc Bourguet
2001-04-02 12:42 ` Robert A Duff
2001-04-02 14:16 ` Jean-Marc Bourguet
2001-04-03 0:33 ` Pat Rogers
2001-04-02 13:09 ` Ken Garlington
2001-04-02 13:40 ` Robert A Duff
2001-04-02 23:29 ` Ken Garlington
2001-04-13 23:11 ` Robert A Duff
2001-04-02 14:32 ` Jean-Marc Bourguet
2001-04-04 7:59 ` Mats Karlssohn
2001-04-04 7:47 ` Mats Karlssohn [this message]
2001-04-06 0:33 ` Ken Garlington
2001-04-09 12:21 ` Mats Karlssohn
2001-04-13 15:51 ` Tucker Taft
2001-03-27 14:39 ` Ted Dennison
2001-03-27 16:40 ` Mark Biggar
2001-03-27 18:14 ` Florian Weimer
2001-03-27 18:15 ` Florian Weimer
2001-03-27 18:57 ` Ted Dennison
2001-03-27 19:22 ` Florian Weimer
2001-03-27 20:23 ` Ted Dennison
2001-03-27 22:15 ` Florian Weimer
2001-03-27 23:30 ` Georg Bauhaus
2001-03-28 9:54 ` Florian Weimer
2001-03-28 15:20 ` Ted Dennison
2001-03-28 16:12 ` David C. Hoos, Sr.
2001-03-28 21:15 ` Robert A Duff
2001-03-28 21:56 ` Brian Rogoff
2001-03-29 8:18 ` Mats Karlssohn
2001-03-29 8:11 ` Mats Karlssohn
2001-03-29 14:37 ` Ted Dennison
2001-03-29 16:35 ` Mark Biggar
2001-03-29 19:27 ` Florian Weimer
2001-03-29 19:28 ` Florian Weimer
2001-03-30 3:41 ` Ken Garlington
2001-03-30 4:32 ` Brian Rogoff
2001-03-30 14:27 ` Compile time executed functions [OT] Karel Thönissen
2001-03-30 17:30 ` Scheveningen (Re: Compile time executed functions [OT]) Ray Blaak
2001-03-30 17:39 ` More {OT] (Was " Brian Rogoff
2001-03-30 23:39 ` Karel Thönissen
2001-03-30 17:47 ` Compile time executed functions Brian Hanson
2001-03-30 0:06 ` Robert A Duff
2001-03-30 15:02 ` Ted Dennison
2001-03-30 20:57 ` Robert A Duff
2001-04-02 14:26 ` Ted Dennison
2001-03-30 17:33 ` Ray Blaak
2001-03-29 8:25 ` Florian Weimer
2001-03-28 7:17 ` Mats Karlssohn
2001-03-29 1:35 ` Jon S Anthony
2001-03-27 14:39 ` Robert A Duff
2001-03-27 15:09 ` Ted Dennison
2001-03-27 16:33 ` Robert A Duff
2001-03-27 23:36 ` Ken Garlington
2001-03-28 20:47 ` Mark Lundquist
2001-03-28 7:29 ` Mats Karlssohn
2001-03-28 22:15 ` Robert A Duff
2001-03-29 8:43 ` Mats Karlssohn
2001-03-31 4:12 ` Robert A Duff
2001-04-05 7:06 ` Mats Karlssohn
2001-04-13 23:18 ` Robert A Duff
2001-03-29 5:02 ` Ken Garlington
2001-03-28 7:31 ` Mats Karlssohn
2001-03-30 8:57 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox