www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - core.stdc.config

reply "Craig Dillabaugh" <craig.dillabaugh gmail.com> writes:
So, there is a module core.stdc.config (referenced here):

http://dlang.org/interfaceToC.html

That is presumably part of the D Standard library.  I am curious 
to know why no mention of this library is included at:

http://dlang.org/phobos/index.html

Is it not part of Phobos? Are there standard modules in D that 
are not included in Phobos?  If so, where would one find the list 
of these modules.
Jan 29 2014
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On 1/30/2014 12:28 PM, Craig Dillabaugh wrote:

 Is it not part of Phobos? Are there standard modules in D that are not
 included in Phobos?  If so, where would one find the list of these modules.
All of the core.* modules are part of DRuntime, not Phobos.
Jan 29 2014
parent reply Jacob Carlborg <doob me.com> writes:
On 2014-01-30 05:42, Mike Parker wrote:

 All of the core.* modules are part of DRuntime, not Phobos.
Unfortunately none of the core.stdc.* modules are documented. It's understandable that duplicating the documentation of the C library is not done since that would require extra work. But it would be nice to at least see which modules and declarations are available. -- /Jacob Carlborg
Jan 29 2014
parent "Craig Dillabaugh" <cdillaba cg.scs.carleton.ca> writes:
On Thursday, 30 January 2014 at 07:26:51 UTC, Jacob Carlborg 
wrote:
 On 2014-01-30 05:42, Mike Parker wrote:

 All of the core.* modules are part of DRuntime, not Phobos.
Unfortunately none of the core.stdc.* modules are documented. It's understandable that duplicating the documentation of the C library is not done since that would require extra work. But it would be nice to at least see which modules and declarations are available.
I agree. Even if they are part of DRuntime, and even if there is no desire to write full documentation for them, people looking through the D site's "Library Reference" should at least be made aware of their existence.
Jan 30 2014
prev sibling parent reply "Gary Willoughby" <dev nomad.so> writes:
On Thursday, 30 January 2014 at 03:28:57 UTC, Craig Dillabaugh 
wrote:
 So, there is a module core.stdc.config (referenced here):

 http://dlang.org/interfaceToC.html

 That is presumably part of the D Standard library.  I am 
 curious to know why no mention of this library is included at:

 http://dlang.org/phobos/index.html

 Is it not part of Phobos? Are there standard modules in D that 
 are not included in Phobos?  If so, where would one find the 
 list of these modules.
The way i see what's available is to take a look at the files installed by the compiler. The directory is different for all operating systems but it's great to look at the source code of all the different modules. For example on Mac OSX 10.8.5 'core.stdc.config' is located at '/usr/share/dmd/src/druntime/src/core/stdc/config.d'. There you can see how the types are constructed and what they represent. For Linux just type 'locate config.d' in the terminal. For Windows it's all in 'C:\d' i think.
Jan 30 2014
parent reply "Craig Dillabaugh" <cdillaba cg.scs.carleton.ca> writes:
On Thursday, 30 January 2014 at 09:03:47 UTC, Gary Willoughby 
wrote:
 On Thursday, 30 January 2014 at 03:28:57 UTC, Craig Dillabaugh 
 wrote:
 So, there is a module core.stdc.config (referenced here):

 http://dlang.org/interfaceToC.html

 That is presumably part of the D Standard library.  I am 
 curious to know why no mention of this library is included at:

 http://dlang.org/phobos/index.html

 Is it not part of Phobos? Are there standard modules in D that 
 are not included in Phobos?  If so, where would one find the 
 list of these modules.
The way i see what's available is to take a look at the files installed by the compiler. The directory is different for all operating systems but it's great to look at the source code of all the different modules. For example on Mac OSX 10.8.5 'core.stdc.config' is located at '/usr/share/dmd/src/druntime/src/core/stdc/config.d'. There you can see how the types are constructed and what they represent. For Linux just type 'locate config.d' in the terminal. For Windows it's all in 'C:\d' i think.
I did as you suggested and had a look through what was on my system. Having done so I now think that the documentation at: http://dlang.org/phobos/index.html is out of date. If you look at the section under "Imports", this appears to be describing what is available under from C, but it appears to suggest that you use std.c.config - or at least that is how I would have read it.
Jan 30 2014
parent "Gary Willoughby" <dev nomad.so> writes:
On Thursday, 30 January 2014 at 14:10:37 UTC, Craig Dillabaugh 
wrote:
 I did as you suggested and had a look through what was on my 
 system.  Having done so I now think that the documentation at:

 http://dlang.org/phobos/index.html

 is out of date.

 If you look at the section under "Imports", this appears to be 
 describing what is available under from C, but it appears to 
 suggest that you use std.c.config - or at least that is how I 
 would have read it.
The 'std.c.*' modules are just publicly importing 'core.stdc.*' modules and AFAIK discouraged as it gives the impression they are part of Phobos. Using 'core.stdc.*' is informing other developers this is core runtime stuff. Forget 'std.c.*', use 'core.stdc.*'. And you are right, the documentation needs a big update!
Jan 30 2014