Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2011, 21:15   #21
ElectroMent
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 27
По умолчанию

Цитата:
Сообщение от mmx358 Посмотреть сообщение
onewho, дээээ, придется размазывать алгоритм по файлам... очень жаль... Наверное, когда завершу эту программу, буду изучать OpenGL, что-то мне подсказывает, что с ним не будет такого геморроя касательно графики.
Заблуждаешься.
Достаточно будет изучить принципы организации кода приложения и будет все получаться. Очень надеюсь =)
ElectroMent вне форума Ответить с цитированием
Старый 29.12.2011, 21:17   #22
mmx358
Пользователь
 
Регистрация: 28.06.2009
Сообщений: 84
По умолчанию

ElectroMent, спасибо вам большущее! Я уже начал кроить программу по-другому, как только дорвусь до нее снова, обязательно сделаю, как вы сказали, затем отпишусь о результатах!
mmx358 вне форума Ответить с цитированием
Старый 29.12.2011, 21:20   #23
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

функции не нужно писать как extern.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.12.2011, 21:21   #24
ElectroMent
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 27
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Не уверен, что понимаю о чем речь. Поэтому, может быть я зря влазию.
Но возможно проблема ТС связанна с тем, что порядок инициализации глобальных данных не определён.

Это означает, что если Second инициализируется раньше, чем First, но ему для работы нужны корректные данные от First, то последствия могут быть непредсказуемыми.

Лекарство: паттерн "одиночка", или "Singleton"
1. Учтем он пишет на С. паттерн "одиночка" в топку.
2. Проблема в создании компилятором нескольких копий глобальных переменных в разных модулях, чтоб такого не было сообщи компилятору что переменная одна и та же в нескольких модулях ( используй extern ).
ElectroMent вне форума Ответить с цитированием
Старый 29.12.2011, 21:24   #25
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
1. Учтем он пишет на С. паттерн "одиночка" в топку.
учтем что паттерн не привязан к ЯП, итого ваш пункт в топку.

2-ое верно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.12.2011, 21:28   #26
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от ElectroMent Посмотреть сообщение
1. Учтем он пишет на С. паттерн "одиночка" в топку.
2. Проблема в создании компилятором нескольких копий глобальных переменных в разных модулях, чтоб такого не было сообщи компилятору что переменная одна и та же в нескольких модулях ( используй extern ).
1. Одиночка не обязан быть классом. c-style позволяет проектировать модульную архитектуру. Следовательно, одиночку можно сконструировать и на языке си.

2. Предпочитаю грамотно конструировать архитектуру, что бы потом не иметь мышиной возни с extern.

Необходимость учитывать порядок инициализации глобальных данных, и чего то там "не забывать, а то все будет черным" - признак ущербной архитектуры.

Extern - зло.
_Bers вне форума Ответить с цитированием
Старый 29.12.2011, 21:33   #27
mmx358
Пользователь
 
Регистрация: 28.06.2009
Сообщений: 84
По умолчанию

_Bers, и ваши предложения?
mmx358 вне форума Ответить с цитированием
Старый 29.12.2011, 21:38   #28
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от mmx358 Посмотреть сообщение
_Bers, и ваши предложения?
1.Тщательнее проектировать архитектуру.
2. см #15 сообщение.
_Bers вне форума Ответить с цитированием
Старый 29.12.2011, 21:38   #29
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Необходимость учитывать порядок инициализации глобальных данных, и чего то там "не забывать, а то все будет черным" - признак ущербной архитектуры.
необходимости тут нет.
Цитата:
Extern - зло.
экстерн более быстрый механизм для межмодульных данных, куда лучше чем вызовы функций(с проверками вечными).
что в С, что в С++.

хотя насчет кучи "незаменимых" глобальных переменных согласен.
но функция вместо переменной не лучше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.12.2011, 21:42   #30
ElectroMent
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
учтем что паттерн не привязан к ЯП, итого ваш пункт в топку.
а я не говорю, что паттерн привязан к ЯП, лишь отметил, что выражение "используй паттерн "одиночка" " ему как "барану новые ворота" (примеры распространены для С++ и т.д.) ( ни в коем случае не оскорбляю автора темы ). Человек ждет конкретного плана "что делать".
ElectroMent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение программы на отдельные модули (Паскаль) Olya1 Помощь студентам 1 08.07.2011 11:25
Разбиение программы на модули Neolit1819 Общие вопросы C/C++ 4 11.04.2011 19:14
разбиение программы на модули SUDALV Помощь студентам 1 22.06.2010 22:01
Создание программы использующей ICQ протокол SuBwooFer Общие вопросы C/C++ 1 17.01.2010 13:50
Рзработка модуля и программы использующей этот модуль (Delphi) Sonny01 Помощь студентам 2 07.11.2009 17:26