ya_Mickey
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AutoIT Паимаишшшш. По всем моим понятиям и опыту (я работаю с .NET еще с версии 1.0 - ну и глючная же она была, вернее даже с ее бетой), MSIL машина не является машиной исполняющей код. Ее основными задачами являются: 1. Компилить промежуточный (MSIL) код в нативный во время первого к нему обращения. 2. Управлять распределением managed-памяти (кучи), в т.ч. подчищать мусор. В остальном все идет на уровне родного процессору кода и родных (SIC) для операционки dll-ек. Второй пункт является принципиальным отличием от Java, которая предоставляет доступ к объектам ОС через _свои_ библиотеки, а не родные, тем самым являясь именно виртуальной машиной. Так что программирование работы с реестром и файловой системой не особо отличается на С# и C++. Только на C# тебе сразу даются объекты для работы с этими системами, а на плюсах ты еще должен их где-то раздобыть. Немного другой случай - когда ты исполняешь .NET аплеты, запускаемые с удаленного сервера (по SMB или http или еще как нибудь) Вот тогда уже ОС тебе выделяет песочницу, через которую ты можешь что-то сделать только в рамках доверия данной машины той с которой все запускается. То есть, если ты запускаешь что-то из доверенной зоны, с большой долей вероятности аплету будет доступен и реестр и вся файловая система. Если же ты запускаешь что-то из зоны Internet или чего-нить хуже, ты получишь максимум - процессорное время и сколько-то памяти. Так что вооружись Рихтером и Ховардом, они расскажут, как все в .NET шоколадно (а это практически всегда так). После этого ты скажешь "Да и ... с этими фреймворками - кому надо - поставят" и станешь фанатом этой системы как им стал я. А уж после того как ты изучешь вторую версию C#, а за ней и третью, такие вещи как WPF, WWF и WCF, ты на плюсы будешь смотреть с жалкой усмешкой. Это все мое ИМХО. Раньше я тоже был плюсовиком-маньяком, пока не увидел что дает .NET. |