Запуск и компиляция C++ кода из C# на лету

129
01 декабря 2019, 06:40

Краткая история: пишу диплом. Оптимизация с++ кода. Переделываю блок switch в массив.
Чуть больше подробностей: Пишу на C# с WinForms. Тобишь, весь парсинг и прочая работа делается на C#.

Задача: после того, как я оптимизировал всё, мне требуется запустить новый, сформированный .cpp файл, откомпилировать его, и запустить. И встает самый глубокий и сложный для меня вопрос, как это сделать из c# когда?

Можно предположить, что это можно сделать средствами командной строки(из кода, к примеру, вначале порождать дочерний процесс, который откомпилирует файл, и потом передать его на вход дочернему процессу, который его запустит). Ну и соответственно, результатом выполнения будет возврат четырех DWORD чисел, содержащих в себе результаты GetTIckCount() для замера скорости работы до и после(2 до оптимизация и 2 после).

Что посоветуете?

p.s. если вдруг такая магия запрещена, то может быть это можно сделать при помощи Node.js, уж он то точно умеет порождать дочерние процессы через консоль, с указанными параметрами. Но проблема в его запусте та же, запуск его как дочерний процесс. p.s.s.

Превращаю это:  
switch (i % 30) {
      case 15: res = 30; break;
      ...
      case 26: res = 50; break;
      case 27: res = 57; break;
      case 28: res = 70; break;
      default: res = 0;
    }  
Вот в это:  
static int k[30] = { 30,45,0,0,0,0,50,57,70,80,81,50,57,70 };
    res = k[(i % 30) - 15];
READ ALSO
Технология связки в WPF

Технология связки в WPF

Разбирался с binding в WPF и столкнулся с проблемойУ меня есть класс "Sensor", окно, в котором расположен только "DataGrid"

118
авторизация по ролям 403

авторизация по ролям 403

есть метод action:

127
Перетаскивание файлов Visual Studio

Перетаскивание файлов Visual Studio

Не могу перетащить файл из окна Solution Explorer в любую папку, например, на рабочий столMust have фича, ранее пользовался продуктом от JetBrains - Rider

113
WPF плавная отрисовка круга

WPF плавная отрисовка круга

Продолжаю разбираться с анимацией, и на этот раз не могу справиться с задачей плавной отрисовки круга, те

79