Some Basic Questions

Jay Kyburz jay at jaykyburz.com
Tue Aug 15 04:10:47 PDT 2006


> I always use the 'build' tool from http://www.dsource.org/projects/build
> to compile and link an executable in one step. It searches for all files
> and calls dmd with the right parameters.

Thanks for those notes Sean and Frank, and yeah, I've been using build.exe 
too, and with no problems. Everything is working fine and happily coding away 
on my little project. 

I guessed a few things that I would like to know for sure though.

Heres another question. I have lots.

I have each of my classes in separate source files. the files are named the 
same as the class.  Is it true that each source files is compiled to a 
separate module? 
That a module needs to import any other module to access its classes?
These modules are the obj files right? 

Where is it getting the name of the modules from? My source files are 
capitalized but from the looks of things module names need to be lowercase. 
Or at least the first letter needs to be. eg. TaskArea class is save in 
TaskArea.d but I need to import taskArea to access the class.  By disabling 
clean I see that this is the name of the generated obj file. How come it 
changes case on me? Should I stick with this naming convention for my 
sources?
 

Also, how does the dot syntax work?

I've downloaded and using TinyXML. I've dropped the sources in a folder 
called TinyXML. To access this i need to import tinyxml.tinyxml not 
TinyXML.tinlyxml. So the dot syntax is used to find objs in subfolders? And 
it also requires lowercase?

But then what is with std.stdio? I don't see an std folder? Is this a special 
case?

When i import dwt.all for GUI, it seems to be compiling all of it it every 
time I build. Do I really need to recompile all of dwt every time i build? 


I'd better stop there. I starting to sound like I don't know anything. 

If you guys are kind enough to answer these questions I'll post some more 
about linking to libs. :)

I'll also google around and see if i can't find some good info about c's 
build process. 

Thanks guys!




More information about the Digitalmars-d-learn mailing list