Есть ли способ контролировать поток кода C ++ извне?

Мне потребовалось это разрешение, но я не знал, доступны ли предлагаемые ключи. Итак, я принял @torazaburo ответ и улучшил для моего варианта использования:

function pick(o, ...props) {
  return Object.assign({}, ...props.map(prop => {
    if (o[prop]) return {[prop]: o[prop]};
  }));
}

// Example:
var person = { name: 'John', age: 29 };
var myObj = pick(person, 'name', 'sex'); // { name: 'John' }
-1
задан instance 29 March 2019 в 13:05
поделиться

2 ответа

Если вы хотите, чтобы выполнялся новый код C ++, его сначала нужно скомпилировать. Я не думаю, что вы можете избежать этого. Однако вы можете попытаться сократить время, необходимое для компиляции, с помощью различных методов, таких как использование средств защиты заголовков и выборочный подход к заголовкам.

0
ответ дан SomeoneSomewhere 29 March 2019 в 13:05
поделиться

В gdb вы можете многое сделать, чтобы изменить поведение вашей программы, когда она достигает точки останова без остановок. Команда печати также может быть использована для изменения значений, например, print i=0 фактически устанавливает i в ноль.

Просто помните, что все эти изменения и взломы должны быть перенесены обратно в исходный код и протестированы снова! За прошедшие годы я потерял много отличных правок, выполняя встроенные хаки в коде, а затем завершал работу, не просматривая изменения.

0
ответ дан Gem Taylor 29 March 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: