Хорошо, я создаю ОСРВ для проекта.
Я пытался выяснить хорошую структуру для файлов, но я не уверен, как бы я хотел поделиться ресурсами, такими как двусвязные списки, которые лежат в основе.
Сначала я выбрал AWS Cloud9, потому что хотел использовать функцию совместной работы.
В настоящее время у меня есть эти файлы:
kernel.h
doubly_linked_list.h
doubly_linked_list.c
communication.h
communication.c
timing.h
timing.c
task_admin.h
task_admin.c
context.c
У меня есть int main () в context.c, и я включаю все остальные .h файлы, но получаю эти ошибки, хотя и "неопределенная ссылка" на функции, когда пытаюсь их вызвать.
Я провел лучшую часть ночи, пытаясь найти решение, читая что-то вроде соединения, объединения и построения.
Дело в том, что я могу запустить, если разбью весь код в одном файле, но это похоже на плохой дизайн.
Как сохранить основной файл в другом файле, а не в двусвязном списке? (кажется, что это работает, или сделал на днях ..)
Я экспериментировал с меньшим проектом, который имеет:
context.c
test.h
test.c
и использование:
gcc -Wall context.c test.c -o myoutput
Затем я попытался запустить 'myoutput', но все равно получаю ошибки, почему?
Running /home/ec2-user/environment/DST2Project/RTOS_Test/context.c
/tmp/cco1x3LW.o: In function `main':
context.c:(.text+0x15): undefined reference to `test'
context.c:(.text+0x1f): undefined reference to `test'
collect2: error: ld returned 1 exit status