Two ‘main’ functions in C/C++

No. All programs have a single main(), that’s how the compiler and linker generate an executable that start somewhere sensible.

You basically have two options:

  1. Have the main() interpret some command line arguments to decide what actual main to call. The drawback is that you are going to have an executable with both programs.

  2. Create a library out of the shared code and compile each main file against that library. You’ll end up with two executables.

Leave a Comment