Чтоже такое dot.net??
От: Edvard_Grieg http://www.angelfire.com/rpg2/e_grig
Дата: 07.07.04 07:49
Оценка: :))) :))
Извините что беспокою с довольно глупыми вопросами НО:
Мне интнересно следующее:
1) Как мелкомягкие будут отказываться от вин32, если
mscodee.dll в полный рост импортирует в себя:
::Sections Count::
4
::Sections Names::
.text
.data
.rsrc
.reloc
::Library list::
KERNEL32.dll
ADVAPI32.dll
::Import LookUp ::
>>KERNEL32.dll
CreateFileA :: 74
CreateFileW :: 77
GetVersionExA :: 456
GetVersionExW :: 457
OutputDebugStringA :: 616
OutputDebugStringW :: 617
GetModuleHandleA :: 359
GetFileAttributesA :: 328
GetFileAttributesW :: 331
GetCPInfo :: 241
GetEnvironmentVariableA :: 322
GetEnvironmentVariableW :: 323
lstrcatW :: 912
GetCurrentProcessId :: 304
GetStdHandle :: 414
VirtualAlloc :: 853
VirtualQuery :: 861
GetCurrentProcess :: 303
RaiseException :: 643
GetModuleFileNameW :: 358
GetModuleFileNameA :: 357
LoadLibraryExW :: 560
LoadLibraryExA :: 559
lstrlenW :: 927
WideCharToMultiByte :: 873
FreeEnvironmentStringsW :: 228
GetEnvironmentStringsW :: 321
GetEnvironmentStrings :: 319
FreeEnvironmentStringsA :: 227
MultiByteToWideChar :: 593
CloseHandle :: 44
WriteFile :: 886
ReadFile :: 656
InterlockedDecrement :: 518
VirtualProtect :: 859
GlobalMemoryStatus :: 483
lstrcpyW :: 921
GetSystemInfo :: 424
FreeLibrary :: 229
SetLastError :: 766
LoadLibraryA :: 558
GetProcAddress :: 393
GetLastError :: 346
InterlockedIncrement :: 522
SetErrorMode :: 747
LocalFree :: 568
LocalAlloc :: 564
InterlockedExchange :: 519
GetModuleHandleW :: 362
Sleep :: 809
GetCommandLineA :: 253
HeapFree :: 501
HeapAlloc :: 495
RtlUnwind :: 689
HeapReAlloc :: 505
ExitProcess :: 171
TerminateProcess :: 817
SetHandleCount :: 762
GetFileType :: 336
GetStartupInfoA :: 412
HeapDestroy :: 499
HeapCreate :: 497
VirtualFree :: 856
HeapSize :: 507
IsBadWritePtr :: 532
GetACP :: 235
GetOEMCP :: 380
LCMapStringA :: 544
LCMapStringW :: 545
SetFilePointer :: 753
GetStringTypeA :: 415
GetStringTypeW :: 418
QueryPerformanceCounter :: 638
GetTickCount :: 446
GetCurrentThreadId :: 306
GetSystemTimeAsFileTime :: 428
SetUnhandledExceptionFilter :: 797
IsBadReadPtr :: 529
IsBadCodePtr :: 526
GetLocaleInfoA :: 349
SetStdHandle :: 780
FlushFileBuffers :: 219
EnterCriticalSection :: 139
LeaveCriticalSection :: 557
InitializeCriticalSection :: 514
DeleteCriticalSection :: 118
IsDBCSLeadByteEx :: 534
ADVAPI32.dll
RegQueryValueExW :: 492
RegEnumValueW :: 473
RegEnumValueA :: 472
RegOpenKeyExW :: 482
RegOpenKeyExA :: 481
RegQueryValueExA :: 491
RegQueryInfoKeyW :: 487
RegQueryInfoKeyA :: 486
RegEnumKeyExW :: 470
RegEnumKeyExA :: 469
RegisterEventSourceA :: 509
DeregisterEventSource :: 175
RegCloseKey :: 456
ReportEventW :: 521
Практически все функции kernel32.dll,advapi32.dll ???
Т.е. не работает в режиме ядра а находится в самом что ненаесть пользовательском режиме , и является лишь надстройкой над kernel32.dll,advapi32.dll.
Я проанализировал формат CLR PE EXE и пришел к выводу что любое net приложение может
запросто работать как с управляемым так и с неуправляемым кодом????
Кроме всего прочего мне кажется что мелкомягкие библиотеку Runtime включаемую в проекты MSVC просто перенесли в mscoree.dll.
Как мелкомягкие будут избегать работы в "куче" управляемого кода? Они предоставят интерфейс для работы с кучей(инкапсулировать те самые :HeapFree :: 501
HeapAlloc :: 495 !kernel32.dll) а сама куча будет выполнятся в mscoree.dll?
И еще ведь mscoree.dll будет исполняться в контексте вызвавшего ее процесса а ненаоборот. Какой тогда вообще смысл от этой надстройки. Заранее извиняюсь за глупые вопросы.

with best regards Edvard Grieg http://www.angelfire.com/rpg2/e_grig

28.07.04 09:42: Перенесено модератором из '.NET' — TK
28.07.04 09:43: Перенесено модератором из '.NET' — TK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.