Как получить доступ к глобальной переменной, определенной в скомпилированной динамической библиотеке из c ++

Я пробовал все вышеперечисленные ответы, никто не работал для меня. Поэтому перед добавлением нового элемента в список старого общего pref, я сделал следующие шаги

  1. , сделайте его копию
  2. вызовите метод с указанной копией в качестве параметра к этому методу.
  3. внутри этого метода очистить общий префикс, который удерживает эти значения.
  4. добавить значения, присутствующие в копии, в очищенное разделяемое предпочтение, оно будет рассматривать его как новое.
    public static void addCalcsToSharedPrefSet(Context ctx,Set<String> favoriteCalcList) {
    
    ctx.getSharedPreferences(FAV_PREFERENCES, 0).edit().clear().commit();
    
    SharedPreferences sharedpreferences = ctx.getSharedPreferences(FAV_PREFERENCES, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedpreferences.edit();
    editor.putStringSet(FAV_CALC_NAME, favoriteCalcList);
    editor.apply(); }
    

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

0
задан guilt11 5 March 2019 в 05:38
поделиться

1 ответ

Обычно, когда вы хотите совместно использовать глобальную переменную в различных файлах в проектах C / C ++, вы добавляете ключевое слово extern в объявление, чтобы расширить видимость переменной для всей разрабатываемой вами программы.

extern int acc;

Что касается доступа к библиотекам C ++ и их переменным из Python, может быть, эта ссылка может быть полезной Вызов C / C ++ из Python?

0
ответ дан danmar 5 March 2019 в 05:38
поделиться
Другие вопросы по тегам:

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