Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Компилятору это глубоко пофигу. Он создает объектный файл, и все тут. Если ф-ция находится в том-же файле, что и ее вызов, и не вызывается снаружи, объявите ее static.
Отправлено
SM
10 января 2007 г. 17:22
В ответ на:
Ответ: в описании функции в ее имени опечатка - компилятор должен по идее обругать и сказать - ОШИБКА, ничего сгенерить НЕ МОГУ. А он пишет только предупреждение, ошибок 0, hex файл сгенерен.
отправлено <font color=gray>Mik174</font> 10 января 2007 г. 17:19
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: Дело не в том где она находится. Вот пример: я определил функцию my_func, в которой предположим половина, моей программы, а когда к ней обращаюсь, опечатался и набрал myfunc. К самой функции я никогда получается не обращаюсь, а пытаюсь обратиться к несуществующей функции myfunc. При этом компилятор не кричит, что он не может создать код, а что-то создает (ИНТЕРЕСНО, ЧТО ???). Вот интересно, как же он проводит линковку и создает hex файл с НЕСУЩЕСТВУВЮЩЕЙ функцией. Если объектный файл - по
—
Mik174
(10.01.2007 17:28:59
212.114.22.150
,
пустое
)
Большая разница. Если Вы объявите ф-цию static, то кричать будет КОМПИЛЯТОР, так как ф-ция будет в его ведении (в пределах файла). Если не статик - то ЛИНКЕР. А линкер кейловский так придуман, что unresolved всегда warning.
—
SM
(10.01.2007 17:31:56
85.21.237.237
,
пустое
)
понятно, можно при линковке подключить эту функцию в другом объектном файле, например, но при создании самого кода, при линковке он должен выдать сообщение о том, что он не нашел описания этой функции и НЕ МОЖЕТ создать исполняемый hex файл.
—
Mik174
(10.01.2007 17:30:53
212.114.22.150
,
пустое
)
Это почему еще не может? Еще как может, просто не сделав этой связи. А вдруг Вы специально какой-то модуль временно не линкуете, если он не нужен при отладке?
—
SM
(10.01.2007 17:33:11
85.21.237.237
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru