помогите продублировать один код, но с модификациями
Участников: 2
FreeBasic :: Программирование :: Общее
Страница 1 из 1
помогите продублировать один код, но с модификациями
Привет!
Мне нужно продублировать один код, но с модификациями.
Но проблема ещё в том, что я постоянно вношу улучшение в оригинал.
И просто не в состоянии поддерживать дубль в актуальном состоянии.
Еслибы было наследование, то оно мнебы не помогло.
Макросы. Тоже не подходят. Как я понимаю они глобальны. Мне совершенно не нужны в других местах эти алгоритмы, а тем более лишние (занятые) ключевые слова.
Что можно сделать? Если какие-нибудь возможности? Выскажитесь пожалуйста, даже если мысль кажеться вам нелепой. Лично меня уже на всякое тянет. И я просто буду искать самый лучший вариант.
вот мои варианты:
1. разделение препроцессором
Но тут вопрос. А разве #define может переопределять? Или это можно как-то ограничить в области действия?
2. разделение дополнительной прогой
А дальше я сожусь и пишу прогу, которая разложит из одного файла в два разных модуля.
Она будет копировать всё плюс код для нужного модуля.
3. вариант со статическими библиотеками. Но я не знаю, как они могут помочь. Хотя подозреваю, что всё же могут.
У кого-нибудь есть лучшие варианты? Помогите!
Мне нужно продублировать один код, но с модификациями.
Но проблема ещё в том, что я постоянно вношу улучшение в оригинал.
И просто не в состоянии поддерживать дубль в актуальном состоянии.
Еслибы было наследование, то оно мнебы не помогло.
Макросы. Тоже не подходят. Как я понимаю они глобальны. Мне совершенно не нужны в других местах эти алгоритмы, а тем более лишние (занятые) ключевые слова.
Что можно сделать? Если какие-нибудь возможности? Выскажитесь пожалуйста, даже если мысль кажеться вам нелепой. Лично меня уже на всякое тянет. И я просто буду искать самый лучший вариант.
вот мои варианты:
1. разделение препроцессором
- Код:
print "общий код"
#if module = 1
print "код только для модуля 1"
#endif
#if module = 2
print "код только для модуля 2"
#endif
Но тут вопрос. А разве #define может переопределять? Или это можно как-то ограничить в области действия?
2. разделение дополнительной прогой
- Код:
print "общий код"
#begin module1
print "код только для модуля 1"
#endbegin
#begin module2
print "код только для модуля 2"
#endbegin
А дальше я сожусь и пишу прогу, которая разложит из одного файла в два разных модуля.
Она будет копировать всё плюс код для нужного модуля.
3. вариант со статическими библиотеками. Но я не знаю, как они могут помочь. Хотя подозреваю, что всё же могут.
У кого-нибудь есть лучшие варианты? Помогите!
Re: помогите продублировать один код, но с модификациями
Ок. Вариант со статическими библиотеками отработал.
Всё сработало как нужно.
Но есть один минус.
Мне пришлось декларировать все процедуры. Один раз, от этого не збежишь. Но делать это 3 или более раз, увольте!
Хотя ещё поизвращаюсь с препроцессором. Может быть он чего подскажет хорошего.
Всё сработало как нужно.
Но есть один минус.
Мне пришлось декларировать все процедуры. Один раз, от этого не збежишь. Но делать это 3 или более раз, увольте!
Хотя ещё поизвращаюсь с препроцессором. Может быть он чего подскажет хорошего.
Re: помогите продублировать один код, но с модификациями
как вариант можно использовать namespace (часто сам им пользуюсь)
Re: помогите продублировать один код, но с модификациями
Объясни по подробнее. Как он здесь может помочь?
Код пожалуйста, примерный покажи.
Код пожалуйста, примерный покажи.
Re: помогите продублировать один код, но с модификациями
если я правильно понимаю, то нужно следующее
- Код:
namespace mod1
'тута код и переменные первого модуля, к примеру
const x=1
end namespace
namespace mod2
'тут для второго
const x=2
end namespace
- Код:
print mod1.x
print mod2.x
- Код:
using mod1
print x
using mod2
print x
Re: помогите продублировать один код, но с модификациями
Не! Ты не понял. По сути у меня есть два класса.
В них много общего, но и много различий.
И просто я хочу написать код для двух разных программ, но в одном исходнике.
То что я демонстрировал с препроцесором, наиболее близко. Покрайней мере я смог получить из одного сорца две разных проги. Но вот декларировать их... Кажеться слишком запарно.
Я сейчас по другому пути пошел. В одном классе сливаю сразу три. Не знаю, наверное так даже лучше будет.
В них много общего, но и много различий.
И просто я хочу написать код для двух разных программ, но в одном исходнике.
То что я демонстрировал с препроцесором, наиболее близко. Покрайней мере я смог получить из одного сорца две разных проги. Но вот декларировать их... Кажеться слишком запарно.
Я сейчас по другому пути пошел. В одном классе сливаю сразу три. Не знаю, наверное так даже лучше будет.
Re: помогите продублировать один код, но с модификациями
Смех сквозь слёзы.
В C++ эта проблема решаеться наследованием класса.
А ещё есть шаблоны.
Ну когда же это появиться во фрибэйсике?
В C++ эта проблема решаеться наследованием класса.
А ещё есть шаблоны.
Ну когда же это появиться во фрибэйсике?
FreeBasic :: Программирование :: Общее
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|