msvcrt и Visual C++ 2005
От: CHGenA  
Дата: 23.02.08 15:51
Оценка:
Здравствуйте!
Можно ли в программе на Visual C++ 2005/2008 использовать не msvcr90.dll,а msvcrt.dll из \windows\system32\ в качестве CRT.Может нужно скачать какие-нибудь .h и .lib файлы???
Re: msvcrt и Visual C++ 2005
От: Uzumaki Naruto Ниоткуда  
Дата: 23.02.08 16:41
Оценка:
И да и нет... Можно ли поменять CRT — да можно, лежит ли он в system32 — нет не лжит, а ставится отдельно см. Platform SDK.

Re[2]: msvcrt и Visual C++ 2005
От: CHGenA  
Дата: 23.02.08 17:12
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>И да и нет... Можно ли поменять CRT — да можно, лежит ли он в system32 — нет не лжит, а ставится отдельно см. Platform SDK.


msvcrt.dll всегда лежит в system32 во всех Widows,поэтому-то я и хочу её использовать как CRT(для уменьшения размера программ,например)
Re[3]: msvcrt и Visual C++ 2005
От: Uzumaki Naruto Ниоткуда  
Дата: 23.02.08 20:30
Оценка:
Динамическая библиотека CRT лежит да — но вот какой версии — это уже вопрос — в каждой винде может быть своя.

Во вторых, что бы использовать любую DLLку при программировани — надо иметь хедеры и можеть быть библиотеку импорта — и для CRT их взять надо из Platform SDK — для 2000/XP/2003 — Platform SDK 2003.

Re[4]: msvcrt и Visual C++ 2005
От: CHGenA  
Дата: 24.02.08 09:45
Оценка:
А где их можно скачать(отдельно от остальных компонентов SDK)?Кстати,а какая CRT поставляется с WDK?Неужели драйверы используют msvcrXX.dll???
Re[5]: msvcrt и Visual C++ 2005
От: Left2 Украина  
Дата: 24.02.08 09:59
Оценка:
CHG>А где их можно скачать(отдельно от остальных компонентов SDK)?Кстати,а какая CRT поставляется с WDK?Неужели драйверы используют msvcrXX.dll???
Правило хорошего тона для небольших программ — линковаться с CRT статически и вообще не требовать никаких msvcrXX.dll. Если размер который добавляет статическая CRT всё равно кажется большим — поищи по ключевым словам tinycrt + на сайте в статьях по-моему что-то было на тему как уменьшить размер модулей.
... << RSDN@Home 1.2.0 alpha rev. 717>>
Re: msvcrt и Visual C++ 2005
От: lifrsdn  
Дата: 24.02.08 11:34
Оценка: 1 (1)
Здравствуйте, CHGenA, Вы писали:

CHG>Здравствуйте!

CHG>Можно ли в программе на Visual C++ 2005/2008 использовать не msvcr90.dll,а msvcrt.dll из \windows\system32\ в качестве CRT.Может нужно скачать какие-нибудь .h и .lib файлы???

Вообще можно, взяв lib от 6й студии и запретив библиотеки по умолчанию.

Но на ваш страх и риск. Точно не будут работать исключения, проверки на переполнение массивов, большая часть STL. Вроде ещё какие-то проблемы возникали. Наигравшись с ключами компилятора можно заставить программу работать, но... нужно ли оно: фактически получится узкое подмножество С++ практически совпадающее с С. Причем невинное на 1й взгляд действие может сделать программу некомпилирующейся (что ещё более-менее хорошо) или не корректоно работающей.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: msvcrt и Visual C++ 2005
От: hybride  
Дата: 24.02.08 12:25
Оценка: :)
Здравствуйте, lifrsdn, Вы писали:

L>Здравствуйте, CHGenA, Вы писали:


CHG>>Здравствуйте!

CHG>>Можно ли в программе на Visual C++ 2005/2008 использовать не msvcr90.dll,а msvcrt.dll из \windows\system32\ в качестве CRT.Может нужно скачать какие-нибудь .h и .lib файлы???

L>Вообще можно, взяв lib от 6й студии и запретив библиотеки по умолчанию.


L>Но на ваш страх и риск. Точно не будут работать исключения, проверки на переполнение массивов, большая часть STL. Вроде ещё какие-то проблемы возникали. Наигравшись с ключами компилятора можно заставить программу работать, но... нужно ли оно: фактически получится узкое подмножество С++ практически совпадающее с С. Причем невинное на 1й взгляд действие может сделать программу некомпилирующейся (что ещё более-менее хорошо) или не корректоно работающей.


хмм. Может быть я конечно не прав, но тогда проще использовать ntdll и переопределить те ф-и кот. там нет.
Re[3]: msvcrt и Visual C++ 2005
От: lifrsdn  
Дата: 24.02.08 12:42
Оценка:
Здравствуйте, hybride, Вы писали:

H>Здравствуйте, lifrsdn, Вы писали:


L>>Здравствуйте, CHGenA, Вы писали:


CHG>>>Здравствуйте!

CHG>>>Можно ли в программе на Visual C++ 2005/2008 использовать не msvcr90.dll,а msvcrt.dll из \windows\system32\ в качестве CRT.Может нужно скачать какие-нибудь .h и .lib файлы???

L>>Вообще можно, взяв lib от 6й студии и запретив библиотеки по умолчанию.


L>>Но на ваш страх и риск. Точно не будут работать исключения, проверки на переполнение массивов, большая часть STL. Вроде ещё какие-то проблемы возникали. Наигравшись с ключами компилятора можно заставить программу работать, но... нужно ли оно: фактически получится узкое подмножество С++ практически совпадающее с С. Причем невинное на 1й взгляд действие может сделать программу некомпилирующейся (что ещё более-менее хорошо) или не корректоно работающей.


H>хмм. Может быть я конечно не прав, но тогда проще использовать ntdll и переопределить те ф-и кот. там нет.


Ну и как вы, например, переопределите функции поддержки С++ исключений? Боюсь спрашивать, причем тут вообще ntdll в частности и Native API вообще.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: msvcrt и Visual C++ 2005
От: _nn_  
Дата: 24.02.08 22:35
Оценка:
Здравствуйте, CHGenA, Вы писали:

CHG>Здравствуйте!

CHG>Можно ли в программе на Visual C++ 2005/2008 использовать не msvcr90.dll,а msvcrt.dll из \windows\system32\ в качестве CRT.Может нужно скачать какие-нибудь .h и .lib файлы???

http://rsdn.ru/Forum/message/2456923.1.aspx
Автор: _nn_
Дата: 22.04.07
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: msvcrt и Visual C++ 2005
От: CHGenA  
Дата: 25.02.08 12:25
Оценка:
Всем ответившим-Большое спасибо!!!
Re[3]: msvcrt и Visual C++ 2005
От: oziro Нигерия  
Дата: 25.02.08 13:13
Оценка: +1 :)
CHG>Всем ответившим-Большое спасибо!!!


<b>Предназначение системы оценок</b>


...
Любой зарегистрированный участник форумов RSDN.ru, непосредственно при просмотре сообщения, может дать ему одну из следующих оценок:
...
— спасибо
...


Re[4]: msvcrt и Visual C++ 2005
От: gear nuke  
Дата: 27.02.08 08:57
Оценка:
Здравствуйте, lifrsdn, Вы писали:

L>Ну и как вы, например, переопределите функции поддержки С++ исключений?


Visual C++ Exception-Handling Instrumentation

L>Боюсь спрашивать, причем тут вообще ntdll в частности и Native API вообще.


RaiseException реализовано через RtlRaiseException
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[5]: msvcrt и Visual C++ 2005
От: lifrsdn  
Дата: 27.02.08 11:08
Оценка:
Здравствуйте, gear nuke, Вы писали:

GN>Здравствуйте, lifrsdn, Вы писали:


L>>Ну и как вы, например, переопределите функции поддержки С++ исключений?


GN>Visual C++ Exception-Handling Instrumentation


Можно так. Но потенциально это одна большая куча проблем.

L>>Боюсь спрашивать, причем тут вообще ntdll в частности и Native API вообще.


GN>RaiseException реализовано через RtlRaiseException


Согласен. Большая часть Win32API реализовано через NativeAPI. Но вот почему-то некоторые программисты используют всё таки Win32 для своих user-mode программ.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: msvcrt и Visual C++ 2005
От: gear nuke  
Дата: 27.02.08 14:15
Оценка:
Здравствуйте, lifrsdn, Вы писали:

L>Можно так. Но потенциально это одна большая куча проблем.


Да, тут пожалуй первично, что нужно — создание проблем на пустом месте, или решение существующих. Так то всё это более-менее изучено и реализовано... тем же MS в DDK попадаются отдельные готовые либы.

L>Но вот почему-то некоторые программисты используют всё таки Win32 для своих user-mode программ.


Скорее большенство — лишние проблемы им не нужны. Но есть и лишенные прелестей подсистемы Win32, и тут опа.. им говорят — хотите не хотите, а пишите на С Да и кстати я там был очень краток, и не написал как оно реализовано... так что не проще с ntdll.

P.S. А вообще только и хотел ответить топикстартеру, что отнюдь не в каждой системе есть msvcrt.dll (в отличае от crtdll.dll) но забыл
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[7]: msvcrt и Visual C++ 2005
От: lifrsdn  
Дата: 27.02.08 14:43
Оценка:
Здравствуйте, gear nuke, Вы писали:

L>>Но вот почему-то некоторые программисты используют всё таки Win32 для своих user-mode программ.


GN>Скорее большенство — лишние проблемы им не нужны. Но есть и лишенные прелестей подсистемы Win32, и тут опа.. им говорят — хотите не хотите, а пишите на С Да и кстати я там был очень краток, и не написал как оно реализовано... так что не проще с ntdll.


Это я к тому написал, что если есть Win32 фунцкия, то абсолютно необязательно ради непонятно чего звать Native. Возможно ирония прошла мимо. Что касается лишенных прелестей win32, то тогда вопрос про msvcrt.dll даже не встает, она завязана на kernel32.

GN>P.S. А вообще только и хотел ответить топикстартеру, что отнюдь не в каждой системе есть msvcrt.dll (в отличае от crtdll.dll) но забыл


Да, LCC в руки и вперед.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.