Я новичок в C и связывании, просто у меня два вопроса по .so share library.
Допустим, у меня есть общая библиотека math.so, изначально созданная из add.c и multiple.c,
и у меня есть программа test.c, которая использует только функцию добавления в add.c.
В1. Даже если я не использую функцию множественных функций, вся общая библиотека math.so (включая несколько кодов и данных) все равно будет загружена в память, верно ли мое понимание?
Q2- Поскольку math.so используется в памяти совместно, как нам обращаться с глобальными данными в math.so? например в add.c есть глобальная переменная number = 0, test.c изменяет ее на number = 1
, а другая программа test2.c изменяет ее на number = 2, поэтому после переключения контекста test.c пытается вывести число, значение которого равно 2, не совсем то значение (которое должно быть 1), которое должно быть для test.c?