Код на СРР в данном случае не вызывается. Вызывается конечный машинный код, который сгенерирован на основе кода СРР компилятором языка. Вызвать код другого языка без его компилятора (или интерпретатора) ни как нельзя.
Т.е. код питона из срр вызвать можно очень легко (просто взяв интерпретатор питона и использовав обертку), а наоборот - нет
Используется соглашение о вызовах, в конечном итоге все сводится к ассемблеру, исходная программа складывает значения в определенной последовательности в регистры и вызывает команду.
Есть и более простой путь параметры передаются строкой, результат тоже строка.
Хотя в общем вариантов куча.