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:
-
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.
-
Create a library out of the shared code and compile each main file against that library. You’ll end up with two executables.