Кроссплатформенная поддержка различных классов MFC \ ATL - PullRequest
2 голосов
/ 06 ноября 2010

Я стараюсь максимально поддерживать кроссплатформенность моего проекта C ++.
Хотя у меня есть зависимости от следующих классов MFC \ ATL: CString, CTime, CTimeSpan .

Есть ли где-нибудь открытая реализация классов MFC \ ATL?
Насколько распространены эти пакеты, и следует ли мне использовать библиотеки с открытым исходным кодом для начала или я должен ждать, пока возникнет такая необходимость?

Ответы [ 3 ]

4 голосов
/ 06 ноября 2010

Вместо CString используйте std::string

Вместо CTime используйте boost::ptime

Вместо CTimeSpan используйте boost::time_duration

2 голосов
/ 13 ноября 2010

Хотя это предложение не будет отвечать вашим кроссплатформенным требованиям, оно соответствует запросу на «открытую реализацию классов MFC / ATL».

Ознакомьтесь с библиотекой шаблонов Windows (WTL).

Microsoft открыла его несколько лет назад, вы можете скачать его со страницы проекта sourceforge , и он также доступен где-то на сайте Microsoft.

Описание со страницы SourceForge:Библиотека шаблонов Windows (WTL) - это библиотека C ++ для разработки приложений Windows и компонентов пользовательского интерфейса.Он расширяет ATL (Active Template Library) и предоставляет набор классов для элементов управления, диалогов, окон фреймов, объектов GDI и т. Д.

Надеюсь, это поможет!

1 голос
/ 06 ноября 2010

Рекомендую не полагаться на эти занятия.Они специфичны для MFC / ATL и не могут быть легко перенесены, например, в Unix.Попробуйте создать отдельный конверсионный слой и постройте из библиотек boost , гораздо более переносимых.

...