Windows vs Linux - Как десктоп
, и игровая станция.
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.243] |
|
|
Правила раздела:
| Страницы: (1182) « Первая ... 404 405 [406] 407 408 ... 1181 1182 ( Перейти к последнему сообщению ) |
Windows vs Linux - Как десктоп
, и игровая станция.
|
Сообщ.
#6076
,
|
|
|
|
А разве такая функция есть? МСДН ее не знает. Вот CreateProcess (из wine-0.9.20): Цитата wine-0.9.20/dlls/kernel/process.c ![]() ![]() /********************************************************************** * 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; } Добавлено Исходники в .tar.bz2 — 10 мегабайт. Там есть маппинг VFS на видимую из win32 api файловую систему. |
|
Сообщ.
#6077
,
|
|
|
|
смореть релиз под линь... незнаю будит ли такое желание. походу там такая жуть. эмуляция DirectX то OpenGL.
Добавлено mo3r- спасибо! =) wine.. судя по api's сам.. юзает wine... майн гот! там даже vdm (virtual dos mashine) забацали! |
|
Сообщ.
#6078
,
|
|
|
|
Делать мне нечего? Бинарники 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 Мб В сырцах (wine-20050725-3) есть CreateProcess! Цитата 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) |
|
Сообщ.
#6079
,
|
|
|
|
ну вот.. аж челюсть отвисла... и чай пролил.. ужас.. то есть подвиг.. походу туда целиковый маст-дай оформили.
|
|
Сообщ.
#6080
,
|
|
|
|
best_lamer -а ты не пробывал gta vice-city под ним запустить?
Добавлено а то малоли.. мож там хинт для разработчеков.. типа что хотелось бы сделать но пока не реализовано (а посему заглушено).. Добавлено просто знаю я ваш - юникс вей. напоминающий песню "по дороге разочарований" |
|
Сообщ.
#6081
,
|
|
|
|
http://wiki.winehq.org/TodoList
|
|
Сообщ.
#6082
,
|
|
|
|
Цитата 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 можно установить почти все что нужно юзеру а если в линухе еще и "шкуры" поменять на "а ля винда" то юзер не особе сведущий не скоро допрет что его надули Добавлено А еще идут большинство игр Лукас АРТС о похождениях Джедаев |
|
Сообщ.
#6083
,
|
|
|
|
Цитата best_lamer @ а IE 6.0 точно шел 6.5 у меня стоит. Седьмой не ставится. |
|
Сообщ.
#6084
,
|
|
|
|
Цитата mo3r @ Вот CreateProcess (из wine-0.9.20): И вы мне таки будете рассказывать, шо оно не тормозит? Нет, я конечно мог предположить всякие извращения, вплоть до того, что оно просто имеет свои DLL-ки с аналогичным набором апи. Но нет, это еще хуже: надо ж было извращенным умом додуматься в прямом вызове функции проверять на принадлежность к платформе. И как же оно не будет тормозить? Фтопку поделие, имеющее такой код. Ужасная отмазка для скрытия бесплодия линуксовой софтовой почвы.Цитата best_lamer @ Цитата (wine-20050725/DEVELOPERS-HINTS) GDI+ нет? Добавлено Хотя дайте еще глянуть на DrawText, это наверно самая используемая функция, посмотрим как она организована |
|
Сообщ.
#6085
,
|
|
|
|
Цитата Smike @ Фтопку поделие, имеющее такой код. Ужасная отмазка для скрытия бесплодия линуксовой софтовой почвы. ![]() Цитата Smike @ GDI+ нет? Я из исходников Wine из SuSe 10.0 привел весь список dll! Если GDI+ в списке нет соответственно ну ты понял Хотя SuSe 10.0 уже давненько как была актуальной и многое могли переделать. |
|
Сообщ.
#6086
,
|
|
|
|
|
Сообщ.
#6087
,
|
|
|
|
Цитата Muxa_I @ Если меня ткнут носом где в прилагаемом скрине указан объем флешки я признаю win самой самой. Мой компьютер - Буква диска - Свойства Винда рулит! Смайк обрати внимание я винду защищяю! |
|
Сообщ.
#6088
,
|
|
|
|
Цитата best_lamer @ Смайк обрати внимание я винду защищяю! Теперь Смайк должен замолвить слово за мерссссссссский линупсссс... |
|
Сообщ.
#6089
,
|
|
|
|
Muxa_I А по твоему скрину нифига не понятно
Добавлено Цитата Астарот @ Теперь Смайк должен замолвить слово за мерссссссссский линупсссс... Мерссский и пратифффный! Блин ЛЮДИ КТО СОБИРАЛ КВАК 3 из сырцов? |
|
Сообщ.
#6090
,
|
|
|
|
Цитата best_lamer @ Мой компьютер - Буква диска - Свойства Винда рулит! Это так. Но сколько телодвижений. и откуда домохозяйка знает сие действия и как их произвести со "Священной Windows"? вообще то этот скрин специально к ответу Цитата Monty @ Цитата (Muxa_I @ 28.10.06, 09:26) Kingston 1Gb Kingston 512Mb Ну а по объему догадаться нельзя?! ... вы меня поражаете, лишь бы придраться? |