c ++ версия функций exec () в python - PullRequest
       22

c ++ версия функций exec () в python

0 голосов
/ 11 декабря 2019

В python у вас есть встроенная функция exec, которая выполняет код python в строках

exec('print("hello world")')
#out:
#hello world

, но есть ли версия exec на c ++ в python?

Ответы [ 3 ]

2 голосов
/ 11 декабря 2019

но есть ли в Python версия exec для С ++?

Вы хотите выполнять операторы языка C из строки! так что это невозможно с помощью c.

why

, поскольку c является скомпилированным языком, программа сначала компилируется, а затем выполняется. это возможно в python как его интерпретируемый язык, означает, что программа компилируется компилятором точно в срок во время выполнения. надеюсь, это поможет.

1 голос
/ 11 декабря 2019

Ну, технически, вы (возможно) можете. Но вряд ли это оправданное усилие, есть другие языки сценариев, которые могут быть интегрированы в C ++. Например Луа. Просто подумайте, может сработать следующее, если у вас есть метод int excuteCode(std::string code)

  1. Скопируйте эту строку в шаблон, который оборачивает ее в какую-то функцию. Вот идея такого шаблона:
int userFunc()
{
    %code%
}
Запишите шаблон в файл Создайте динамическую библиотеку (например, .dll в Windows) из этого файла (вызовите компилятор и компоновщик с помощью system или специфичных для ОС методов) Загрузите динамическую библиотеку в вашу работающую программу (опять же, методы, специфичные для ОС) Загрузите необходимый метод userFunc и выполните его.
0 голосов
/ 11 декабря 2019
#include <iostream>
int main(void) {
    system("python -c \"print('hello world')\"");
    return 0;
}

Для системных команд ...?

...