Compiling and Linking Multiple Source Files in C++

By: B. Lippman Emailed: 1588 times Printed: 2041 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
Compute the square root of the sum of the squares of an array in C++
Using cout.width() in C++
C++ Recursion function explained using Fibonacci series
cin.ignore() in C++
Sorting an array of Strings in C++
Getting Started with C++
Dot (.) vs Arrow (->) to access data members in C++
Stray or Dangling Pointers in C++
Compiling and Linking Multiple Source Files in C++
Calculating total based on the given quantity and price in C++
Using Comments in a C++ Program
Constructors and Destructors in C++
for Loops in C++
What Is a Reference in C++?
Most Emailed Articles (in C++)
Converting C++ Multiple-Inheritance Hierarchies to Java
Returning values from a function in C++
C++ and Object-Oriented Programming
Advanced if Statements in C++
do...while Loops in C++
Using cout.fill() in C++
Lvalues and Rvalues in C++
Using cout in C++
C++ Recursion function explained using Fibonacci series
Public versus Private members in C++
Converting Pointer Parameters in C++ to Java
Getting Started with C++
Using Comments in a C++ Program
The if Statement in C++
Passing parameters to a function by value in C++