'Program consisting of multiple executable files

If you're familiar with the internals of git (even a little bit), you may know that the git command is just the frontend to many other executables (as in, git is comprised of multiple executables, instead of a single binary file.

How does this "multiple-executable" architecture work, and is there any example of a program (ideally in C/C++) of a program that consists of multiple executables?

As you can see, this directory contains a lot of git-* executables. Talking about all these git-* executables.



Solution 1:[1]

One way of doing it could be to execute shell commands, such as Python os.system or system() in C/C++.

Say we have an app named app, consisting of three executables app-cmd1, app-cmd2, and app itself.

I could program app in a way that it would call app-cmd1 if I ran app cmd1, same with app-cmd2 which could be called with app cmd2. Note the lack of the - hyphen.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 lemuria