Функция объявлена с внешним связыванием - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Дело в том, что в одном модуле несколько объявленных функций. Насколько я помню, если программа многофайловая, то функция объявленная (

без static

) доступна в других файлах. Но почему-то именно эти объявленные функции недоступны. Пришлось прописывать их прототипы. main.c
int str_get(stream,sym); ...
Тогда они стали видны. stream и sym это typedef объявления:
typedef unsigned char sym; typedef struct stream_t stream_t, *stream;
С другими функциями в этом же проекте все прекрасно. В чем может быть дело? Читаю Прата у него про это не написано.....

Решение задачи: «Функция объявлена с внешним связыванием»

textual
Листинг программы
 extern int str_get(stream,sym);
 
int main()
{
  str_get(fakeStream,fakeSym);
}

Объяснение кода листинга программы

  1. В коде имеется функция с названием str_get, которая объявлена с внешним связыванием.
  2. Функция str_get принимает два аргумента типа int, которые называются stream и sym.
  3. В функции main создаются две переменные типа int с названиями fakeStream и fakeSym, которые передаются в качестве аргументов в функцию str_get.
  4. После вызова функции str_get программа продолжает работу, но значения переменных fakeStream и fakeSym не используются.
  5. Возможно, функция str_get выполняет какую-то операцию со строками, но в данном коде не указано, какие именно операции выполняются.
  6. Возможно, переменная stream используется для чтения символов из некоторого потока данных, а переменная sym используется для определения символа, который нужно найти или обработать.
  7. Возможно, функция str_get возвращает какое-то значение, но в данном коде не указано, какое именно значение она возвращает.
  8. Возможно, в данном коде не хватает объявления функции str_get, чтобы понять, как она работает.
  9. Возможно, в данном коде не хватает информации о том, какие типы данных используются для потока данных и символа.
  10. Возможно, в данном коде не хватает информации о том, как функция str_get взаимодействует с другими функциями или переменными.
  11. Возможно, в данном коде не хватает информации о том, какие операции выполняются с потоком данных и символом внутри функции str_get.
  12. Возможно, в данном коде не хватает информации о том, какие значения могут быть переданы в функцию str_get и какие значения она может возвращать.
  13. Возможно, в данном коде не хватает информации о том, какие ошибки или исключения могут возникнуть при выполнении функции str_get.
  14. Возможно, в данном коде не хватает информации о том, какие оптимизации или улучшения могут быть применены к функции str_get.
  15. Возможно, в данном коде не хватает информации о том, какие еще функции или библиотеки могут использоваться вместе с функцией str_get.
  16. Возможно, в данном коде не хватает информации о том, какие еще параметры или аргументы могут быть переданы в функцию str_get.
  17. Возможно, в данном коде не хватает информации о том, какие еще операции или действия могут быть выполнены с потоком данных и символом внутри функции str_get.
  18. Возможно, в данном коде не хватает информации о том, какие еще условия или проверки могут быть выполнены с потоком данных и символом внутри функции str_get.
  19. Возможно, в данном коде не хватает информации о том, какие еще функции или методы могут быть использованы для работы с потоками данных и символами.
  20. Возможно, в данном коде не хватает информации о том, какие еще типы данных или структуры могут быть использованы для представления потоков данных и символов.

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы