Я в настоящее время ищу лучшее решение для решения моего "запроса". Я использую структуру в источнике, как:
В заголовке:
struct my_struct
{
unsigned int val;
char *name;
};
в c файлах:
struct my_struct variable =
{
.val = 0xffffffff
.name = "config_variable_name",
};
Теперь после компиляции у меня есть двоичный файл, и я могу найти строку "config_variable_name"
там. Теперь другой инструмент использует этот двоичный файл и любит модифицировать этот .val
. Таким образом, инструмент ищет также двоичный файл для строки "config_variable_name"
и, когда он найден, помещает новый беззнаковый int в найденное position - 4 == location
из .val
.
. Это работает без каких-либо проблем. Есть ли лучший способ сделать такую вещь? У меня есть несколько переменных, которые модифицируются с помощью инструмента, поэтому каждой переменной нужен собственный «идентификатор», чтобы инструмент мог найти правильную позицию в двоичном файле.
Может быть, шаблон вместо char *name
лучше? Как unsingend int 0x38372829
или что-то еще? Но это должно быть уникальным в двоичном коде ...