На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь

Страницы: (1182) « Первая ... 404 405 [406] 407 408 ...  1181 1182  ( Перейти к последнему сообщению )  
> Windows vs Linux - Как десктоп , и игровая станция.
    Цитата mICRo @
    Если мона отрывочек кода как там эмулируют к примеру ф-кцию CreateProcessEX.

    А разве такая функция есть? МСДН ее не знает. Вот CreateProcess (из wine-0.9.20):
    Цитата wine-0.9.20/dlls/kernel/process.c

    ExpandedWrap disabled
      /**********************************************************************
       *       CreateProcessW          (KERNEL32.@)
       */
      BOOL WINAPI CreateProcessW( LPCWSTR app_name, LPWSTR cmd_line, LPSECURITY_ATTRIBUTES process_attr,
                                  LPSECURITY_ATTRIBUTES thread_attr, BOOL inherit, DWORD flags,
                                  LPVOID env, LPCWSTR cur_dir, LPSTARTUPINFOW startup_info,
                                  LPPROCESS_INFORMATION info )
      {
          BOOL retv = FALSE;
          HANDLE hFile = 0;
          char *unixdir = NULL;
          WCHAR name[MAX_PATH];
          WCHAR *tidy_cmdline, *p, *envW = env;
          void *res_start, *res_end;
       
          /* Process the AppName and/or CmdLine to get module name and path */
       
          TRACE("app %s cmdline %s\n", debugstr_w(app_name), debugstr_w(cmd_line) );
       
          if (!(tidy_cmdline = get_file_name( app_name, cmd_line, name, sizeof(name)/sizeof(WCHAR), &hFile )))
              return FALSE;
          if (hFile == INVALID_HANDLE_VALUE) goto done;
       
          /* Warn if unsupported features are used */
       
          if (flags & (IDLE_PRIORITY_CLASS | HIGH_PRIORITY_CLASS | REALTIME_PRIORITY_CLASS |
                       CREATE_NEW_PROCESS_GROUP | CREATE_SEPARATE_WOW_VDM | CREATE_SHARED_WOW_VDM |
                       CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW |
                       PROFILE_USER | PROFILE_KERNEL | PROFILE_SERVER))
              WARN("(%s,...): ignoring some flags in %lx\n", debugstr_w(name), flags);
       
          if (cur_dir)
          {
              if (!(unixdir = wine_get_unix_file_name( cur_dir )))
              {
                  SetLastError(ERROR_DIRECTORY);
                  goto done;
              }
          }
          else
          {
              WCHAR buf[MAX_PATH];
              if (GetCurrentDirectoryW(MAX_PATH, buf)) unixdir = wine_get_unix_file_name( buf );
          }
       
          if (env && !(flags & CREATE_UNICODE_ENVIRONMENT))  /* convert environment to unicode */
          {
              char *p = env;
              DWORD lenW;
       
              while (*p) p += strlen(p) + 1;
              p++;  /* final null */
              lenW = MultiByteToWideChar( CP_ACP, 0, env, p - (char*)env, NULL, 0 );
              envW = HeapAlloc( GetProcessHeap(), 0, lenW * sizeof(WCHAR) );
              MultiByteToWideChar( CP_ACP, 0, env, p - (char*)env, envW, lenW );
              flags |= CREATE_UNICODE_ENVIRONMENT;
          }
       
          info->hThread = info->hProcess = 0;
          info->dwProcessId = info->dwThreadId = 0;
       
          /* Determine executable type */
       
          if (!hFile)  /* builtin exe */
          {
              TRACE( "starting %s as Winelib app\n", debugstr_w(name) );
              retv = create_process( 0, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                     inherit, flags, startup_info, info, unixdir, NULL, NULL, FALSE );
              goto done;
          }
       
          switch( MODULE_GetBinaryType( hFile, &res_start, &res_end ))
          {
          case BINARY_PE_EXE:
              TRACE( "starting %s as Win32 binary (%p-%p)\n", debugstr_w(name), res_start, res_end );
              retv = create_process( hFile, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                     inherit, flags, startup_info, info, unixdir, res_start, res_end, FALSE );
              break;
          case BINARY_OS216:
          case BINARY_WIN16:
          case BINARY_DOS:
              TRACE( "starting %s as Win16/DOS binary\n", debugstr_w(name) );
              retv = create_vdm_process( name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                         inherit, flags, startup_info, info, unixdir, FALSE );
              break;
          case BINARY_PE_DLL:
              TRACE( "not starting %s since it is a dll\n", debugstr_w(name) );
              SetLastError( ERROR_BAD_EXE_FORMAT );
              break;
          case BINARY_UNIX_LIB:
              TRACE( "%s is a Unix library, starting as Winelib app\n", debugstr_w(name) );
              retv = create_process( hFile, name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                     inherit, flags, startup_info, info, unixdir, NULL, NULL, FALSE );
              break;
          case BINARY_UNKNOWN:
              /* check for .com or .bat extension */
              if ((p = strrchrW( name, '.' )))
              {
                  if (!strcmpiW( p, comW ) || !strcmpiW( p, pifW ))
                  {
                      TRACE( "starting %s as DOS binary\n", debugstr_w(name) );
                      retv = create_vdm_process( name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                                 inherit, flags, startup_info, info, unixdir, FALSE );
                      break;
                  }
                  if (!strcmpiW( p, batW ))
                  {
                      TRACE( "starting %s as batch binary\n", debugstr_w(name) );
                      retv = create_cmd_process( name, tidy_cmdline, envW, cur_dir, process_attr, thread_attr,
                                                 inherit, flags, startup_info, info );
                      break;
                  }
              }
              /* fall through */
          case BINARY_UNIX_EXE:
              {
                  /* unknown file, try as unix executable */
                  char *unix_name;
       
                  TRACE( "starting %s as Unix binary\n", debugstr_w(name) );
       
                  if ((unix_name = wine_get_unix_file_name( name )))
                  {
                      retv = (fork_and_exec( unix_name, tidy_cmdline, envW, unixdir, flags ) != -1);
                      HeapFree( GetProcessHeap(), 0, unix_name );
                  }
              }
              break;
          }
          CloseHandle( hFile );
       
       done:
          if (tidy_cmdline != cmd_line) HeapFree( GetProcessHeap(), 0, tidy_cmdline );
          if (envW != env) HeapFree( GetProcessHeap(), 0, envW );
          HeapFree( GetProcessHeap(), 0, unixdir );
          return retv;
      }



    Добавлено
    Цитата mICRo @
    а! и скока ещо wine весет в мегобайтах.

    Исходники в .tar.bz2 — 10 мегабайт.
    Цитата mICRo @
    это чтож - там даже букву подставляют и слешь с кривого на наманый переправляют?

    Там есть маппинг VFS на видимую из win32 api файловую систему.
    Сообщение отредактировано: mo3r -
      смореть релиз под линь... незнаю будит ли такое желание. походу там такая жуть. эмуляция DirectX то OpenGL.

      Добавлено
      mo3r- спасибо! =) wine.. судя по api's сам.. юзает wine... :unsure: майн гот! там даже vdm (virtual dos mashine) забацали!
        Цитата mICRo @
        да не потрудись перевести (на великий и могучий) что там гонят насчет (не?)эмулятора

        Делать мне нечего? :whistle:

        Цитата mICRo @
        скока ещо wine весет в мегобайтах

        Бинарники
        SuSe 10.0 wine-20050725-3.i586.rpm - 9,3 Мб
        SuSe 10.1 wine-0.9.11-7.i586.rpm - 7,7 Мб
        Сырцы wine-20050725-3.src.rpm - 9,2 Мб

        Цитата mICRo @
        Если мона отрывочек кода как там эмулируют к примеру ф-кцию CreateProcessEX.

        В сырцах (wine-20050725-3) есть CreateProcess!

        Цитата mICRo @
        Если возможно приведи список эмулируемых диеелел.

        Цитата wine-20050725/DEVELOPERS-HINTS
        DLLs (under dlls/):
        advapi32/ - Crypto, systeminfo, security, eventlogging
        advpack/ - Reads and verifies .INF files
        amstream/ - MultiMedia Streams
        atl/ - Active Template Library
        avicap32/ - AVI capture window class
        avifil32/ - COM object to play AVI files
        cabinet/ - Cabinet file interface
        capi2032/ - Wrapper library for CAPI4Linux access
        cards/ - Card graphics
        cfgmgr32/ - Config manager
        comcat/ - Component category manager
        comctl32/ - Common controls
        commdlg/ - Common dialog boxes (both 16 & 32 bit)
        crtdll/ - Old C runtime library
        crypt32/ - Cryptography
        cryptdll/ - Cryptography Manager
        ctl3d/ - 3D Effects for Common GUI Components
        d3d8/ - Direct3D (3D graphics)
        d3d9/ - Direct3D (3D graphics)
        d3dim/ - Direct3D Immediate Mode
        d3drm/ - Direct3D Retained Mode
        d3dx8/ - Direct3D (3D graphics)
        d3dxof/ - DirectX Files Functions
        dbghelp/ - Engine for symbol and module enumeration
        dciman32/ - DCI Manager (graphics)
        ddraw/ - DirectDraw (graphics)
        devenum/ - Device enumeration (part of DirectShow)
        dinput/ - DirectInput (device input)
        dinput8/ - DirectInput (device input)
        dmband/ - DirectMusic Band
        dmcompos/ - DirectMusic Composer
        dmime/ - DirectMusic Interactive Engine
        dmloader/ - DirectMusic Loader
        dmscript/ - DirectMusic Scripting
        dmstyle/ - DirectMusic Style Engine
        dmsynth/ - DirectMusic Software Synthesizer
        dmusic/ - DirectMusic Core Services
        dmusic32/ - DirectMusic Legacy Port
        dplay/ - DirectPlay (networking)
        dplayx/ - DirectPlay (networking)
        dpnet/ - DirectPlay (networking)
        dpnhpast/ - DirectPlay NAT Helper PAST
        dsound/ - DirectSound (audio)
        dswave/ - DirectMusic Wave
        dxdiagn/ - DirectX Diagnostic Tool
        gdi/ - GDI (graphics)
        glu32/ - OpenGL Utility library (graphics)
        glut32/ - OpenGL Utility Toolkit
        hhctrl.ocx/ - HHCTRL OCX implementation
        iccvid/ - Radius Cinepak Video Decoder
        icmp/ - ICMP protocol (networking)
        ifsmgr.vxd/ - IFSMGR VxD implementation
        imagehlp/ - PE (Portable Executable) Image Helper lib
        imm32/ - Input Method Manager
        iphlpapi/ - IP Helper API
        itss/ - Infotech Structured Storage (HTML Help)
        kernel/ - The Windows kernel
        lzexpand/ - Lempel-Ziv compression/decompression
        mapi32/ - Mail interface
        mlang/ - Multi Language Support
        mmdevldr.vxd/ - MMDEVLDR VxD implementation
        monodebg.vxd/ - MONODEBG VxD implementation
        mpr/ - Multi-Protocol Router (networking)
        msacm/ - Audio Compression Manager (multimedia)
        msacm/imaadp32/ - IMA ADPCM Audio Codec
        msacm/msadp32/ - MS ADPCM Audio Codec
        msacm/msg711/ - MS G711 Audio Codec (includes A-Law & MU-Law)
        msacm/winemp3/ - Mpeg Layer 3 Audio Codec
        mscms/ - Color Management System
        msdmo/ - DirectX Media Objects
        mshtml/ - MS HTML component
        msi/ - Microsoft Installer
        msimg32/ - Gradient and transparency (graphics)
        msisys/ - System information
        msnet32/ - Network interface
        msrle32/ - Video codecs
        msvcrt/ - C runtime library
        msvcrt20/ - C runtime library version 2.0
        msvcrt40/ - C runtime library version 4.0
        msvcrtd/ - C runtime library debugging
        msvidc32/ - Microsoft Video-1 Decoder
        msvideo/ - 16 bit video manager
        mswsock/ - Misc networking
        netapi32/ - Network interface
        newdev/ - New Hardware Device Library
        ntdll/ - NT implementation of kernel calls
        odbc32/ - Open DataBase Connectivity driver manager
        ole32/ - 32 bit OLE 2.0 libraries
        oleacc/ - OLE accessibility support
        oleaut32/ - 32 bit OLE 2.0 automation
        olecli/ - 16 bit OLE client
        oledlg/ - OLE 2.0 user interface support
        olepro32/ - 32 bit OLE 2.0 automation
        olesvr/ - 16 bit OLE server
        opengl32/ - OpenGL implementation (graphics)
        powrprof/ - Power Management and Profiling
        psapi/ - Process Status interface
        qcap/ - DirectShow runtime
        quartz/ - DirectShow runtime
        rasapi32/ - Remote Access Server interface
        riched20/ - Rich text editing control version 2.0
        richedit/ - Rich text editing control
        rpcrt4/ - Remote Procedure Call runtime
        rsabase/ - RSA encryption
        rsaenh/ - Crypto API that provides algorithms for DES, 3DES, and RSA among others
        secur32/ - Contains Windows Security functions
        sensapi/ - System Event Notification Service
        serialui/ - Serial port property pages
        setupapi/ - Setup interface
        shdocvw/ - Shell document object and control
        shell32/ - COM object implementing shell views
        shfolder/ - Shell folder service
        shlwapi/ - Shell Light-Weight interface
        snmpapi/ - SNMP protocol interface (networking)
        stdole32.tlb/ - Standard OLE typelib
        sti/ - Still Image service
        tapi32/ - Telephone interface
        ttydrv/ - TTY display driver (Wine specific)
        twain/ - TWAIN Imaging device communications
        unicows/ - Unicows replacement (Unicode layer for Win9x)
        url/ - Internet shortcut shell extension
        urlmon/ - URL Moniker allows binding to a URL (like KIO/gnome-vfs)
        user/ - Window management, standard controls, etc.
        uxtheme/ - Theme library
        vdhcp.vxd/ - VDHCP VxD implementation
        vdmdbg/ - Virtual DOS machine debug library
        version/ - File installation library
        vmm.vxd/ - VMM VxD implementation
        vnbt.vxd/ - VNBT VxD implementation
        vnetbios.vxd/ - VNETBIOS VxD implementation
        vtdapi.vxd/ - VTDAPI VxD implementation
        vwin32.vxd/ - VWIN32 VxD implementation
        win32s/ - 32-bit function access for 16-bit systems
        winaspi/ - 16 bit Advanced SCSI Peripheral Interface
        wined3d/ - Wine internal Direct3D helper
        winedos/ - DOS features and BIOS calls (interrupts) (wine specific)
        wineps/ - Postscript driver (Wine specific)
        wininet/ - Internet extensions
        winmm/ - Multimedia (16 & 32 bit)
        winmm/joystick/ - Joystick driver
        winmm/mcianim/ - MCI animation driver
        winmm/mciavi/ - MCI video driver
        winmm/mcicda/ - MCI audio CD driver
        winmm/mciseq/ - MCI MIDI driver
        winmm/mciwave/ - MCI wave driver
        winmm/midimap/ - MIDI mapper
        winmm/wavemap/ - Audio mapper
        winmm/winealsa/ - ALSA audio driver
        winmm/winearts/ - aRts audio driver
        winmm/wineaudioio/ - audioio audio driver
        winmm/winejack/ - JACK audio server driver
        winmm/winenas/ - NAS audio driver
        winmm/wineoss/ - OSS audio driver
        winnls/ - National Language Support
        winsock/ - Sockets 2.0 (networking)
        winspool/ - Printing & Print Spooler
        wintab32/ - Tablet device interface
        wintrust/ - Trust verification interface
        wldap32/ - LDAP support
        wow32/ - WOW subsystem
        wsock32/ - Sockets 1.1 (networking)
        wtsapi32/ - Terminal Services
        x11drv/ - X11 display driver (Wine specific)
        Сообщение отредактировано: best_lamer -
          ну вот.. аж челюсть отвисла... и чай пролил.. ужас.. то есть подвиг.. походу туда целиковый маст-дай оформили.
            best_lamer -а ты не пробывал gta vice-city под ним запустить? :blink:

            Добавлено
            а то малоли.. мож там хинт для разработчеков.. типа что хотелось бы сделать но пока не реализовано (а посему заглушено)..

            Добавлено
            просто знаю я ваш - юникс вей. напоминающий песню "по дороге разочарований"
              http://wiki.winehq.org/TodoList
                Цитата mICRo @
                а ты не пробывал gta vice-city под ним запустить?

                То что пробовал и оно идет без вопросов (сейчас у меня это стоит):
                Quake 2, Quake 3 Arena, Neverwinter Nights - Kingmaker, HL (полураспад)
                То что пробовал и оно шло/идет с граблями:
                Morrowind, Oblivion (у этих симптомы почти одиноковые траблы со звуком частые вылеты из за графики)
                Общая тенденция такая если игра самая новая и только под DirctX 9.0 - 100% или будут грабли или вообще не пойдет. Если игра держит OpenGL под виндой то скорее всего пойдет и под линуксом без вопросов. Часто в игрушках просто нет звука хотя все остальное (видео) как в винде. Если смотреть не в сторону игр а в сторону приложений то точно идет: Delphi 7, MS Office XP (MS Office 2003 с граблями), IE (!) (только не самый последний а IE 6.0 точно шел), WinAMP (причем звук выдает на гора), The Bat, Total commandir, Freegate остальное не пробовал + еще то что в DosEMU идут vc, TurboPascal 7.0 и все игрушки под дос какие у меня есть (а их много... правда некоторые игрушки парят с графикой) ;)

                В общем даже при помощи Wine под Linux можно установить почти все что нужно юзеру а если в линухе еще и "шкуры" поменять на "а ля винда" то юзер не особе сведущий не скоро допрет что его надули ;)

                Добавлено
                А еще идут большинство игр Лукас АРТС о похождениях Джедаев :P
                  Цитата best_lamer @
                  а IE 6.0 точно шел

                  6.5 у меня стоит. Седьмой не ставится.
                    Цитата mo3r @
                    Вот CreateProcess (из wine-0.9.20):

                    И вы мне таки будете рассказывать, шо оно не тормозит? :lol: Нет, я конечно мог предположить всякие извращения, вплоть до того, что оно просто имеет свои DLL-ки с аналогичным набором апи. Но нет, это еще хуже: надо ж было извращенным умом додуматься в прямом вызове функции проверять на принадлежность к платформе. И как же оно не будет тормозить? Фтопку поделие, имеющее такой код. Ужасная отмазка для скрытия бесплодия линуксовой софтовой почвы.
                    Цитата best_lamer @
                    Цитата (wine-20050725/DEVELOPERS-HINTS)

                    GDI+ нет?

                    Добавлено
                    Хотя дайте еще глянуть на DrawText, это наверно самая используемая функция, посмотрим как она организована ;)
                      Цитата Smike @
                      Фтопку поделие, имеющее такой код. Ужасная отмазка для скрытия бесплодия линуксовой софтовой почвы.
                      :lool: :lool: :lool:

                      Цитата Smike @
                      GDI+ нет?

                      Я из исходников Wine из SuSe 10.0 привел весь список dll! ;) Если GDI+ в списке нет соответственно ну ты понял ;) Хотя SuSe 10.0 уже давненько как была актуальной и многое могли переделать. <_<
                        Цитата Monty @
                        Цитата Muxa_I @
                        Kingston 1Gb
                        Kingston 512Mb

                        Ну а по объему догадаться нельзя?! :blink: ... вы меня поражаете, лишь бы придраться? :huh:

                        Если меня ткнут носом где в прилагаемом скрине указан объем флешки я признаю win самой самой. >:( >:( >:(

                        :P :P :P
                        Прикреплённая картинка
                        Прикреплённая картинка
                          Цитата Muxa_I @
                          Если меня ткнут носом где в прилагаемом скрине указан объем флешки я признаю win самой самой.

                          Мой компьютер - Буква диска - Свойства ;) Винда рулит!

                          Смайк обрати внимание я винду защищяю!
                            Цитата best_lamer @
                            Смайк обрати внимание я винду защищяю!

                            Теперь Смайк должен замолвить слово за мерссссссссский линупсссс...
                              Muxa_I А по твоему скрину нифига не понятно :)

                              Добавлено
                              Цитата Астарот @
                              Теперь Смайк должен замолвить слово за мерссссссссский линупсссс...

                              Мерссский и пратифффный!

                              Блин ЛЮДИ КТО СОБИРАЛ КВАК 3 из сырцов? :(
                                Цитата best_lamer @
                                Мой компьютер - Буква диска - Свойства Винда рулит!


                                Это так. Но сколько телодвижений. и откуда домохозяйка знает сие действия и как их произвести со "Священной Windows"? :rolleyes:
                                вообще то этот скрин специально к ответу
                                Цитата Monty @
                                Цитата (Muxa_I @ 28.10.06, 09:26)
                                Kingston 1Gb
                                Kingston 512Mb

                                Ну а по объему догадаться нельзя?! ... вы меня поражаете, лишь бы придраться?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (1182) « Первая ... 404 405 [406] 407 408 ...  1181 1182
                                Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь



                                Рейтинг@Mail.ru
                                [ Script execution time: 1.1366 ]   [ 15 queries used ]   [ Generated: 5.11.26, 12:09 GMT ]