Как да споделя една променлива между 2 .c файла?

Помислете за променлива abulo. Опитвам се да споделя abulo между 2 .c файла. Ето какво направих -

  1. Създаден a.h . Този файл съдържа реда extern int abulo;
  2. a.c съдържа израз като този, int abulo = 0;
  3. в пр.н.е. е включено a.h. След това има само функция kprintf, която отпечатва вашата стойност.

Но когато се опитам да стартирам кода, той ми показва резултат като този --

undefined reference to `abulo'

Опитах се да използвам идеята за приетия отговор, даден тук - Как да Споделям променливи между различни .c файлове?

какво правя грешно тук? Как да се отървете от тази грешка?


person Pavel    schedule 14.10.2014    source източник


Отговори (1)


Трябва да свържете a.o, когато създавате изпълнимия файл. Пример:

cc -c a.c
cc -c b.c
cc a.o b.o -o executable
#  ^^^ this is important
person musiphil    schedule 14.10.2014