Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CRT в VC8.0 - возможна ли статическая компоновка?

4.1K
19 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
в VC8 CRT компонуется только динамически (Project->Properties->C/C++->Code Generation->Runtime Library->Multi-threaded (/MT). Возможно ли прилинковать CRT статически, т к не во всех виндах есть эти библиотеки.
А столкнулся я с этим, когда послал одну полезную программку кое-кому (на WinApi, без MFC), а потом я узнал, что прога-то моя не запускается. Все это наверное из-за опции Multi-threaded (/MT). В VC6 и VC7 есть статическая компоновка, а вот что делать в VC8? А мож это не из-за CRT прога не запустилась? Посоветуйте че-нить?
7.6K
19 декабря 2006 года
Darien
125 / / 15.01.2006
Имхо, это и есть то что нужно. посмотри в modules, когда прога запускается.
4.1K
21 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Цитата: Darien
Имхо, это и есть то что нужно. посмотри в modules, когда прога запускается.


Че-то ниче не понял. Давай как-нибудь попонятнее

398
21 декабря 2006 года
Alexandoros
630 / / 21.10.2005
Multi-threaded (/MT)
Multi-threaded DLL (/MD)

Шо не ясно?
4.1K
26 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Цитата: Alexandoros
Multi-threaded (/MT)
Multi-threaded DLL (/MD)

Шо не ясно?


Уже ясно, что в 8 студии нет опции Single-threaded (/ML)

398
27 декабря 2006 года
Alexandoros
630 / / 21.10.2005
|[COLOR=red]Мат[/COLOR]|. СинглСред - это длл для однопотоковых приложений, а никак не для статической/динамической линковки. Для динамической - длл, для статической - не длл.
4.1K
27 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Цитата: Alexandoros
СинглСред - это длл для однопотоковых приложений, а никак не для статической/динамической линковки. Для динамической - длл, для статической - не длл.


|Removed|. Cкажи, где ты тут увидел ошибку

Цитата: GRIENDERS
Уже ясно, что в 8 студии нет опции Single-threaded (/ML)

292
27 декабря 2006 года
Matush
726 / / 14.01.2004
Народ. Ведите себя нормально. Образованные же люди.
398
28 декабря 2006 года
Alexandoros
630 / / 21.10.2005
>>Cкажи, где ты тут увидел ошибку
>>Цитата: Сообщение от GRIENDERS
>>Уже ясно, что в 8 студии нет опции Single-threaded (/ML)

Не в тему ты ее сюда вплел. Ты с линковкой разобрался или нет?


ПС, блин, уже и поматерится нельзя, что за времена????
562
29 декабря 2006 года
tarekon
175 / / 19.08.2003
[quote=Alexandoros]СинглСред - это длл для однопотоковых приложений, [/quote]
SingleThread - не DLL
[quote=Grinders]в VC8 CRT компонуется только динамически (Project->Properties->C/C++->Code Generation->Runtime Library->Multi-threaded (/MT). Возможно ли прилинковать CRT статически, т к не во всех виндах есть эти библиотеки.[/quote]
Это и есть статическая компоновка. Динамическая - Multi-threaded DLL. Single-threaded - архаизм, который в VC8 был успешно истреблен (хотя надо было еще в 7 это сделать). Дело в том, что выполнение некоторых операций в многопоточном режиме (например, выделение памяти), требует выполнения дополнительных действий по синхронизации потоков. Поэтому раньше существовало две версии - Multi-threaded с этими операциями и Single-threaded - без них (для оптимизации). Потом многопоточную библиотеку хорошо прооптимизировали, и разницы в производительности почти не стало. Вот её в VC8 и убили. Теперь по-порядку:
Multi-threaded - многопоточная статическая
Multi-threaded Debug - многопоточная статическая с Debug Info
Multi-threaded DLL - многопоточная динамическая
Multi-threaded Debug DLL - многопоточная динамическая с Debug Info.
4.1K
29 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Цитата: tarekon
SingleThread - не DLL
................................................
Multi-threaded - многопоточная статическая
Multi-threaded Debug - многопоточная статическая с Debug Info
Multi-threaded DLL - многопоточная динамическая
Multi-threaded Debug DLL - многопоточная динамическая с Debug Info.


Спасибо, оч помогло.
Но есть одно НО:
1) Значит ли что установив Multi-threaded прогу можно запустить на любой винде, не опасаясь за наличие библиотек рантайма?
2)Если да, то почему моя прога не запустилась на другом компе, хотя была установлена опция Multi-threaded?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог