[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] DBC for C 1.3.0 released

Charles Mills

12/2/2004 11:40:00 PM

This is a very high quality release thanks to Sebastian Hunt and Marc
Verwerft. DBC for C now has exceptional GCC support (including GCC
extensions) and is significantly quicker and more polished than the
initial releases. (Also has Windows support as of 1.2.3.)

Dowload:
http://rubyforge.org/frs/?gr...

Wiki and documentation:
http://dbc.rubyforge.org/wi...

Here is the change log:
http://rubyforge.org/frs/shownotes.php?relea...

Enjoy.



3 Answers

Henrik Horneber

12/3/2004 5:29:00 PM

0

Friedrich Dominicus wrote:

> Charles Mills <cmills@freeshell.org> writes:
>
>
>>This is a very high quality release thanks to Sebastian Hunt and Marc
>>Verwerft. DBC for C now has exceptional GCC support (including GCC
>>extensions) and is significantly quicker and more polished than the
>>initial releases. (Also has Windows support as of 1.2.3.)
>
>
> good idea but what's the difference to GEF?
> http://home.rochester.rr.com/bigbyofrocny/GE...
>

As far as I understand it, DBC for C uses comments in the header file to
genrarte contract checking code, whereas GEF hides the contracts
specification in the implementation.

regards,
Henrik


Friedrich

12/3/2004 6:17:00 PM

0

Charles Mills <cmills@freeshell.org> writes:

> This is a very high quality release thanks to Sebastian Hunt and Marc
> Verwerft. DBC for C now has exceptional GCC support (including GCC
> extensions) and is significantly quicker and more polished than the
> initial releases. (Also has Windows support as of 1.2.3.)

good idea but what's the difference to GEF?
http://home.rochester.rr.com/bigbyofrocny/GE...

Regards
Friedrich

--
Please remove just-for-news- to reply via e-mail.

Charles Mills

12/3/2004 8:54:00 PM

0

On Dec 3, 2004, at 9:29 AM, Henrik Horneber wrote:

> Friedrich Dominicus wrote:
>
>> Charles Mills <cmills@freeshell.org> writes:
>>> This is a very high quality release thanks to Sebastian Hunt and
>>> Marc Verwerft. DBC for C now has exceptional GCC support (including
>>> GCC extensions) and is significantly quicker and more polished than
>>> the initial releases. (Also has Windows support as of 1.2.3.)
>> good idea but what's the difference to GEF?
>> http://home.rochester.rr.com/bigbyofrocny/GE...
>
GEF uses the C preprocessor. DBC for C is a preprocessor. I tried
using GEF (before I began working on DBC for C) and found it too
complicated to use. DBC for C is pretty simple - all you need to do is
define a function/macro - dbc_error(const char *msg) - which gets
called whenever a contract condition is not met. See this article:
http://www.codegeneration.net/tiki-read_article.php?ar...
or the wiki (dbc.rubyforge.org) for more info.

One nice thing about DBC for C is it is easy to inject into existing
project or remove if it doesn't meet your needs. You can compile the
code normally or with contract checks in place... add invariants that
will be checked in through out your project... if it sounds interesting
I encourage you to check out the links above. Also there is a pretty
active mailing list for DBC for C here:
http://rubyforge.org/mail/?gr...

> As far as I understand it, DBC for C uses comments in the header file
> to genrarte contract checking code, whereas GEF hides the contracts
> specification in the implementation.
>
That's right.... header files and .c files. Most of the DBC comment
will be in .c files, especially if you use opaque types.
With GEF contract specifications are part of your function and are
manipulated using preprocessor macros.

-Charlie