![]() |
|
Модераторы: bsa |
![]()
|
|
| Ak47black |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Здравствуйте.
Подскажите пожалуйста кто силён в [С] Есть такой вот код Main.c
polinome.c
polinome.h
В CodeGear Rad Studio компилируется и пре этом выдаёт предупреждения на подобии
и всё работает. Но если компилировать с gcc, то некопилируется и пишет
Тоесть как я понимаю тут конфликт изза того что два раза были объявлены функции с одинаковыми адресами. Вопрос - как тут грамотно сделать для gcc? И ещё хочу спросить, существует вродебы какой-то класс Internal, только как он правильно пишется? Присоединённый файл ( Кол-во скачиваний: 3 )
polinome.zip 0,85 Kb |
||||||||||
|
|||||||||||
| zim22 |
|
||||||||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
каково предназначение этого класса? первый раз слышу. *** main.c
polinom.c
polinom.h
Это сообщение отредактировал(а) zim22 - 9.4.2009, 20:52 |
||||||||
|
|||||||||
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Не Мне надо сделать чтобы из Main.c вызывались add и multiply которые находятся в нём, а при вызове например squared_sum функции в ней вызывалась уже другая функция add, тоесть не из Main.c, а из polinom.c. Добавлено через 3 минуты и 6 секунд
Вродебы она делает функцию или переменную видимой только в модуле где она объявлена. Это сообщение отредактировал(а) Ak47black - 9.4.2009, 21:09 |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
у вас add определена в двух модулях. добавьте перед ней static, и тогда будет считаться что функция "из модуля где определена"....
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
не правильно понимаете конфликт из-за того, что функция с одной сигнатурой была определена (defined) два раза в разных юнитах - линкер не знает какую из них линковать |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Спасибо вам за помощь.
Я немного непонимал значение static. Теперь со всем разобрался. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |