Использовать внутри программы возвращаемое значение из исполняемого файла - PullRequest
0 голосов
/ 16 июня 2020

Для простоты представим, что у нас есть 2 cpp программ (но основная цель этого вопроса - понять, как использовать программы на других языках, например, некоторую cpp программу внутри python программы). Первая программа умножает 2 аргумента:

int main(int argc, char** argv) {
    if (argc == 2)
        return (*argv[1]) * (*argv[2]);
}

Затем я компилирую его как multiply и хочу использовать во второй программе:

#include <iostream>

int main() {
    std::cout << system("./multiply 2 5") << '\n';
}

Но, во-первых, system не t возвращает возвращаемое значение программы, которую он вызвала ($?), во-вторых, return (*argv[1]) * (*argv[2]) морально неверен, потому что main должен возвращать код ошибки, а не результат функции.

Как я могу добиться своего цель тогда? Использование файлов для доступа к данным обременительно.

...