User Tag List

Показано с 1 по 10 из 919

Тема: Мощная среда ZXDev для разработки НА ПЯТИ ЯЗЫКАХ для ZX готова к тестированию

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,930
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Насколько я понимаю, безопасность кода и натив аж никак не мешают друг другу существовать вместе. И для этого не нужны никакие VM.
    Правильно. VM нужны для кроссплатформенности (целевой) на этапе исполнения. .NET помимо этого дает еще много плюшек, например, безопасность, библиотеки, многоязычность, популярность (в частности, довольно мощное комьюнити). .NET Native отбирает у скомилированного бинаря только целевую кроссплатформенность, оставляя все остальные плюшки. Это неплохо.
    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Исходный же код - не кросс, а именно моноплатформенный (.NET only), и никак иначе. Да, это можно сэмулировать на других платформах, но толстым способом.
    Олег, с тобой бесполезно спорить. Не выставляй себя недалеким - ты же прекрасно знаешь, что не существует платформы .NET, и что сборки .NET не эмулируются, правда?
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,716
    Спасибо Благодарностей отдано 
    2,730
    Спасибо Благодарностей получено 
    173
    Поблагодарили
    133 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    ты же прекрасно знаешь, что не существует платформы .NET, и что сборки .NET не эмулируются, правда?
    Что же тогда .NET если не платформа? Фреймворк? Набор классов?

    И я не говорил, что сборки эмулируются. Программная платформа .NET эмулируется поверх аппаратной (Windows, Linux, Mac etc). И даже после трансляции в натив приходится таскать с собой всю платформу - её классы, метаинформацию, нужную для их работы, и т.д.

    Ещё непонятно:
    Цитата Сообщение от s_kosorev Посмотреть сообщение
    VM у явы, дотнет с рождения JIT
    А я считал, что .NET это тоже VM, а у JVM тоже есть JIT-компилятор. И вот приходится блуждать в таких высказываниях людей, которых я считаю опытными дотнетовцами и джавистами.

    В общем, что ни говори, подход Slim Binaries выглядит технологически совершеннее. Но по факту ещё долго будут доминировать плохие реализации древнего пи-кода. Придуманного, кстати, проф. Виртом для его Паскаля.

  4. #3

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,930
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Программная платформа .NET эмулируется поверх аппаратной (Windows, Linux, Mac etc).
    Олег, Windows и Linux - это программные платформы. Аппаратные - это ARM, x86, x64. На аппаратной платформе исполняются ОС, в которые может быть установлен набор библиотек и специальная среда исполнения, которая компилит сборки .NET в нативный исполняемый код целевой аппаратной платформы.
    Некоторые программно-аппаратные платформы, например, носимые устройства, имеют производительность, недостаточную для комфортного запуска .NET приложений с предкомпиляцией впервые исполняемого кода. Для решения этой проблемы был придуман .NET Native. И не более.

    - - - Добавлено - - -

    По поводу VM - не VM. Как сейчас дела у Java обстоят, я не в курсе, но .NET никогда не эмулировал IL-код сборок на целевой платформе, он его всегда компилировал (JIT-компилятором) в нативный код и исполнял непосредственно на процессоре. За это в .NET отвечает CLR - Common Language Runtime (программная среда исполнения .NET-кода).
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  5. #4

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Что же тогда .NET если не платформа? Фреймворк? Набор классов?
    в .net штатно можно работать с памятью, указатели, запрос памяти у операциоки итд, т.е. после jit будет не JNI шлюзы а очень часто обычный call
    тобиш результат дотнета это не процес в какой то виртуальном окружении, а обычный процесс ну с библиотечками разными, ну проверок больше чем хотелось бы

    на C#
    Код:
    class Program
        {
            [DllImport("kernel32.dll")]
            static extern IntPtr GetConsoleWindow();
    
            [DllImport("user32.dll")]
            static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
    
            const int SW_HIDE = 0;
            const int SW_SHOW = 5;
    
            static void Main(string[] args)
            {
                var handle = GetConsoleWindow();
                ShowWindow(handle, SW_HIDE);
                Console.Read();
            }
        }
    листинг на ассемблере
    Код:
                var handle = GetConsoleWindow();
    00000000  push        ebp 
    00000001  mov         ebp,esp 
    00000003  sub         esp,14h 
    00000006  xor         eax,eax 
    00000008  mov         dword ptr [ebp-0Ch],eax 
    0000000b  mov         dword ptr [ebp-10h],eax 
    0000000e  mov         dword ptr [ebp-14h],eax 
    00000011  mov         dword ptr [ebp-4],ecx 
    00000014  cmp         dword ptr ds:[0215C730h],0 
    0000001b  je          00000022 
    0000001d  call        5DD39FEF 
    00000022  xor         edx,edx 
    00000024  mov         dword ptr [ebp-8],edx 
    00000027  call        FFFFF8B0 
    0000002c  mov         dword ptr [ebp-0Ch],eax 
    0000002f  mov         eax,dword ptr [ebp-0Ch] 
    00000032  mov         dword ptr [ebp-8],eax 
                ShowWindow(handle, SW_HIDE);
    00000035  mov         ecx,dword ptr [ebp-8] 
    00000038  xor         edx,edx 
    0000003a  call        FFFFF8BC 
    0000003f  mov         dword ptr [ebp-10h],eax 
    00000042  nop 
                Console.Read();
    00000043  call        5D1EF8EC 
    00000048  mov         dword ptr [ebp-14h],eax 
    0000004b  nop 
            }
    если пошагать, то вызов нативных методов как раз в ядро винды уходят после линковки

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Похожие темы

  1. мощная игрушка
    от ZEman в разделе Игры
    Ответов: 128
    Последнее: 23.03.2024, 17:05
  2. Ответов: 5
    Последнее: 20.06.2011, 03:18
  3. Видеоконтроллер из пяти микросхем
    от zx-kit в разделе Изображение
    Ответов: 20
    Последнее: 31.03.2011, 14:48

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •