12.12.2012 Views

Teach Yourself Borland C++ in 14 Days - portal

Teach Yourself Borland C++ in 14 Days - portal

Teach Yourself Borland C++ in 14 Days - portal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

372 Day 10<br />

Application Target<br />

The Application target section specifies whether the project target is an EXE or a DLL. If you<br />

create your projects us<strong>in</strong>g the Object Repository, this option is set for you and you don’t have<br />

to worry about it.<br />

Application Type<br />

The Application type section allows you to set the application type. The available choices are<br />

W<strong>in</strong>dows GUI and Console Application. As with the Application target option, if you create<br />

a new project us<strong>in</strong>g the Object Repository this option will already be set for you.<br />

Map File<br />

The Map file sett<strong>in</strong>gs control whether a map file is generated and how much detail is <strong>in</strong>cluded<br />

<strong>in</strong> the map file. (A map file is an advanced debugg<strong>in</strong>g tool and is someth<strong>in</strong>g you will not likely<br />

use.)<br />

L<strong>in</strong>k<strong>in</strong>g<br />

The L<strong>in</strong>k<strong>in</strong>g section has three l<strong>in</strong>ker options. The Use <strong>in</strong>cremental l<strong>in</strong>ker option tells<br />

<strong>C++</strong>Builder whether it should use the <strong>in</strong>cremental l<strong>in</strong>ker. The <strong>in</strong>cremental l<strong>in</strong>ker saves a lot<br />

of time when you are develop<strong>in</strong>g your applications. For example, let’s say you have a project<br />

with 20 units. If you change one l<strong>in</strong>e of a unit, that unit will have to be recompiled and<br />

rel<strong>in</strong>ked. When <strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g is on, only the object file that has changed is rel<strong>in</strong>ked.<br />

When <strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g is off, the l<strong>in</strong>ker must rel<strong>in</strong>k every b<strong>in</strong>ary file <strong>in</strong> the project,<br />

regardless of whether it has changed s<strong>in</strong>ce the last l<strong>in</strong>k. L<strong>in</strong>k<strong>in</strong>g takes a fair amount of time,<br />

so the <strong>in</strong>cremental l<strong>in</strong>ker is a big advantage when work<strong>in</strong>g on a project of any significance.<br />

The disadvantage of <strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g is twofold. First, the <strong>in</strong>itial l<strong>in</strong>k takes longer when<br />

<strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g is enabled. Second, the <strong>in</strong>cremental l<strong>in</strong>ker sets up several files <strong>in</strong> order<br />

to do its th<strong>in</strong>g. These files can get very large (several megabytes) and use up a lot of disk space.<br />

If disk space is a problem, you might want to turn off <strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g. Otherwise, it’s<br />

probably just as well to leave <strong>in</strong>cremental l<strong>in</strong>k<strong>in</strong>g on.<br />

NOTE<br />

There is actually a third disadvantage to us<strong>in</strong>g the <strong>in</strong>cremental l<strong>in</strong>ker: It<br />

results <strong>in</strong> slightly larger executable sizes. Before you ship your f<strong>in</strong>al<br />

product you should do a Build All with the Use <strong>in</strong>cremental l<strong>in</strong>ker<br />

option turned off.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!