Compiling and Linking Multiple Source Files in C++

By: B. Lippman Emailed: 1744 times Printed: 2431 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

To produce an executable file, we must tell the compiler not only where to find our main function but also where to find the definition of the member functions defined by the Sales_item class. Let's assume that we have two files: main.cc, which contains the definition of main, and Sales_item.cc, which contains the Sales_item member functions. We might compile these files as follows:

     $ CC -c main.cc Sales_item.cc # by default generates a.exe
                                   # some compilers generate a.out

     # puts the executable in main.exe
     $ CC -c main.cc Sales_item.cc -o main

where $ is our system prompt and # begins a command-line comment. We can now run the executable file, which will run our main program.

If we have only changed one of our .cc source files, it is more efficient to recompile only the file that actually changed. Most compilers provide a way to separately compile each file. This process usually yields a .o file, where the .o extension implies that the file contains object code.

The compiler lets us link object files together to form an executable. On the system we use, in which the compiler is invoked by a command named CC, we would compile our program as follows:

     $ CC -c main.cc              # generates main.o
     $ CC -c Sales_item.cc        # generates Sales_item.o
     $ CC main.o Sales_item.o     # by default generates a.exe;
                                  # some compilers generate a.out

     # puts the executable in main.exe
     $ CC main.o Sales_item.o -o main

You'll need to check with your compiler's user's guide to understand how to compile and execute programs made up of multiple source files.


C++ Home | All C++ Tutorials | Latest C++ Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by B. Lippman
Compiling and Linking Multiple Source Files in C++

More Tutorials in C++
Two-Dimensional Array Manipulation in C++
Calculate average using Two-Dimensional Array in C++
Compute the square root of the sum of the squares of an array in C++
Matrix using nested for loops in C++
Sorting an array of Strings in C++
Calculating total based on the given quantity and price in C++
Compiling and Linking Multiple Source Files in C++
Enumerations in C++
Program to add two numbers in C++
Comments in C++
while loop in C++
for loop in C++
Programming errors a compiler will detect in C++
if in C++
Using the Built-in Arithmetic Types in C++

More Latest News
Most Viewed Articles (in C++ )
Difference between Procedural, Structured, and Object-Oriented Programming
assert() example program in C++
Dot (.) vs Arrow (->) to access data members in C++
Constructors and Destructors in C++
Using cout in C++
while (1) Loops in C++
for loop in C++
Calculate average using Two-Dimensional Array in C++
Calculating total based on the given quantity and price in C++
Using Comments in a C++ Program
class keyword in C++
Converting Pointer Parameters in C++ to Java
Converting Default Function Arguments in C++ to Java
Operator Precedence in C++
Using cout.width() in C++
Most Emailed Articles (in C++)
const Member Functions in C++
Printing values in DEBUG mode in C++
if in C++
Returning values from a function in C++
Public versus Private members in C++
atoi(), itoa() in C++
qsort() sample program in C++
Pass by Reference in C++ functions
Pass by Reference vs Pass Value in C++ functions
Demonstration of Prefix and Postfix operators in C++
Where to Put Class Declarations and Method Definitions in C++
continue and break statements in C++
C ++ Reference Parameters Versus Java Reference Parameters
Getting User Input Using cin in C++
Function overloading in C++