Я пытаюсь научиться использовать скрипт и криптографию.В настоящее время я борюсь с использованием структур os.
C code:
typedef struct {
uint32_t a;
uint32_t b;
} add_structure;
uint32_t add_struct(add_structure data) {
return data.a + data.b;
}
Фрагмент фрагмента пилы
let add_struct = do {
a <- crucible_fresh_var "a" (llvm_int 32);
b <- crucible_fresh_var "b" (llvm_int 32);
let data = crucible_struct [ a, b ]; //line 29
let data2 = crucible_fresh_var
"data2"
(llvm_struct "struct.add_structure");
crucible_execute_func [data];
crucible_return (crucible_term {{ a + b }});
};
ошибка дана
add.saw:29:16-29:40: type mismatch: [Term] -> t.9 and [SetupValue] -> SetupValue
at "data" (add.saw:29:9-29:13)
type mismatch: Term and SetupValue at "data" (add.saw:29:9-29:13)
и использование
crucible_execute_func [data2];
crucible_return (crucible_term {{ data2.2 + data2.1 }});
не помогает.