On 07/11/2010 10:42, Lars T. Kyllingstad wrote:
On Fri, 05 Nov 2010 15:09:05 +0000, div0 wrote:

On 05/11/2010 10:14, Lars T. Kyllingstad wrote:
On Fri, 05 Nov 2010 09:47:37 +0000, div0 wrote:

On 05/11/2010 09:32, spir wrote:
Hello,

Is there a way for a program to simply exit before end of main()? An
instruction like exit, quit, end, halt, stop...

[assert(false) is not why I'm looking for, as (1) the compiler
protests if there is unreachable code (2) it throws in non-release
mode. I just want the program to stop, basta! My use case is first
debugging (avoid later debug output to be written on terminal).]

Denis
-- -- -- -- -- -- --
vit esse estrany ☣

spir.wikidot.com


import std.c.process

then you've exit(int)&   abort()

You can get access to most C library functions through std.c.*, so
it's always worth a quick check in there for lower level stuff.

In D2 it is generally preferable to import core.stdc.* to get at the C
stuff.  std.c.* is a relic from D1, and it is uncertain what will be
kept in the library.

In this case, import core.stdc.stdlib to gain access to exit(int) and
abort().

-Lars

Since when?

I don't know, I just remember there was a discussion about it -- probably
on the Phobos mailing list.  Or it could be my own opinion seeping
through, you never know. ;)

The thing is, the C stdlib is needed in druntime, therefore the headers
need to be in druntime.  And it's pointless to have them in two places,
therefore they should be removed from Phobos.  (std.c could arguably be
kept for non-standard functions.)

In D1, the runtime and the standard library weren't separated, and it
thus made sense to have the C headers in std as well.

OIC, that makes sense. I guess people should be discourged from using the C bits anyway; there ought to be better D versions of everyting in the C standard lib.

--
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk

Reply via email to