Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: MFC: зависимости и переносимость  (Прочитано 14704 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lapulya
Молодой специалист

ru
Offline Offline

« : 17-05-2008 10:44 » 

Да, сразу предупреждаю, там чистый API ни какого MFC и т.п.

MFC - легко Улыбаюсь Класс CAsyncSocket. И оборачивать не нужно, и потоки сами сделаются Улыбаюсь
Оборачивать обязательно нужно, пойми это "чужая" библиотека, она может неподдерживаться в следующей версии винды или вы позже захотите сменить библиотеку, я могу и еще 33 причины придумать почему надо обернуть.
« Последнее редактирование: 21-05-2008 13:05 от Вад » Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #1 : 17-05-2008 15:25 » 

lapulya, MFC не требуется поддержка - код, будучи скомпилен, превращается в АПИ, написанный на ассемблере Улыбаюсь Где не будет поддерживаться АПИ  , там и не будет работать программа
Записан

lapulya
Молодой специалист

ru
Offline Offline

« Ответ #2 : 17-05-2008 20:10 » 

ЭЭЭээх... следуя твоему утверждению ничего вообще оборачивать не надо, потому как если пишем под какую то платформу (это я обобщаю писанину под Винду) все в конечном итоге превращается в апи для данной платвормы и далее в ассемблер платформы, так что все будет нормально и без оберток. Прощай инкапсуляция и модульность, сбалансированные и устойчивые архитектуры, простота поддержки и преноса на другие плтформы и т.д... Короче дело твое, я просто высказал свое мнение.

Да, просто докучи скажу, что MFC - MFC рознь и даже если пишешь ты под винду это вообще ничего не значит, если есть сомнения посмотри есть ли разница между MFС для Windows 2000\XP\Vista и MS Windows Pocet PC 2003\2005 и MS Windows modile 5.0\6.0? А ведь следуя твоей логие Винда она ж и в Африке винда.
Записан

С уважением Lapulya
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #3 : 17-05-2008 21:05 » 

lapulya,
Цитата
А ведь следуя твоей логие Винда она ж и в Африке винда.

о, так оно и есть Улыбаюсь
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 21-05-2008 12:38 » 

lapulya, MFC не требуется поддержка - код, будучи скомпилен, превращается в АПИ, написанный на ассемблере Улыбаюсь
про библиотеку mfc42.dll слышали?)
точнее про
mfc40.dll mfc40loc.dll mfc40u.dll mfc42.dll MFC42ENU.DLL mfc42loc.dll MFC42RUS.DLL mfc42u.dll mfc70.dll mfc70u.dll MFC71.dll.... продолжать? у меня их 20 штук в system32 лежит... и это не предел)
и я не один раз видел как mfc приложение при запуске на чужом компе пыталась отыскать отсутствующую библиотеку)
так что не все там волшебным образом в API прерващается... совсем не все...
PS особенно когда некоторые оторванцы динамическую линкову ставят...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #5 : 21-05-2008 12:41 » 

Ochkarik, слышали Улыбаюсь как-то раз даже на Ингиной системе запустили мою реверси , когда скопировали туда также и mfc42.dll . Более ничего не копировали. А у Инги не винда была, а я не помню что, что то хитрое ))

на виндах же - от 98 до висты запускается всё без установки студии, без проблем
Записан

McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #6 : 21-05-2008 12:49 » 

Алексей1153++, Значит была такая программа что ей хватило этой dll. Это как с STL, когда то удобно, а когда то проще самому реализовать.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 21-05-2008 12:50 » 

Алексей1153++, во во... скопировали... а если там она уже есть и другой версии?) а другое приложение старую версию хочет? или если ее заменить нельзя? прав админских нет?
воооот...)
впрочем это я к слову) свои пять копеек вставить)

*шепотом* я просто MFC не знаю вот и завидно))))

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #8 : 21-05-2008 12:56 » 

Ochkarik, там не было такой длл, там вообще одной Шильгии-Инге известно, что было Улыбаюсь
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 21-05-2008 12:58 » 

Алексей1153++, вот я и грю... с MFC, - как повезет)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #10 : 21-05-2008 14:20 » 

Если не уверен на 100% - компилируй MFC статически. Ещё и место сэкономишь. Ибо sizeof(EXE.exe+MFC*.dll) > sizeof(EXE_MFC.exe)
« Последнее редактирование: 22-05-2008 17:00 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #11 : 21-05-2008 15:05 » 

Алексей1153++, вот я и грю... с MFC, - как повезет)
что значит - как повезёт ? Никогда проблем не было ещё

Джон, а где в настройках это ? Поискал - не нашёл
Записан

Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 21-05-2008 15:34 » 

Алексей1153++, у меня в VS 7.1 в настройках проекта "General"->"Use of MFC" есть варианты "Use standart windows libraries" и 2 варианта MFC - статическая линковка и динамическая.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 21-05-2008 15:42 » 

Лёш, в какой студии? Ага

Обычно сразу при настройках проекта выбираешь. Тогда будут только используемые объекты компилироваться.

В твоей любимой шестёрке.

* ss1.jpg (41.08 Кб - загружено 739 раз.)
« Последнее редактирование: 21-05-2008 15:44 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #14 : 21-05-2008 15:47 » 

Если проект уже создан, то  Alt+F7 -> на первой же страничке Microsoft Foundation Classes:




* ss2.gif (13.86 Кб - загружено 764 раз.)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #15 : 21-05-2008 15:50 » 

Джон, Вад, VC6

не нашёл всё равно, а такая же вкладка в визарде, как у Джона, выглядит так:

* step_5_of_6.png (8.57 Кб - загружено 722 раз.)
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #16 : 21-05-2008 15:52 » 

Джон, а в настройках - там всего один пункт в списке - USE MFC In A Shared DLL Улыбаюсь)
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #17 : 22-05-2008 10:49 » 

Джон,
sizeof(EXE.exe+MFC*.dll) < sizeof(EXE_MFC.exe)
не факт!! зависит от размера проекта. обычно только для больших проектов. где куча библиотек и екзешников.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #18 : 22-05-2008 16:57 » 

Лёш, студия у тебя какая-то левая. Ага У меня Enterprise может поэтому?

Ochkarik, ну в принципе да. Я говорю только про единственный экзешник. Если у тебя куча длл и ехе и все они от MFC зависят, то тогда конечно меньше будет с динамической подгрузкой.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #19 : 22-05-2008 17:00 » 

Ааааа блин, я идиот! Ща понял. Кончно же я имел ввиду наоборот.

sizeof(EXE.exe+MFC*.dll) > sizeof(EXE_MFC.exe)

Наверное Shift не дожал, и получилось меньше вместо больше.
Один экзешник со статическим MFC всегда меньше чем экзешник с динамичиескими MFC*.dll

Спасибо за поправку.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #20 : 22-05-2008 17:22 » 

Джон, я знал, я знал! )
Записан

Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #21 : 23-05-2008 07:24 » 

Джон, Алексей1153++, Онкологично!
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #22 : 23-05-2008 07:55 » 

Ochkarik, тогда уж - окнологично ))
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines