исполнение Windows промышленных проектов под Wine

Выполнение Windows приложений (.exe) без виртуальных машин

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 19 мар 2013, 20:00

Olej писал(а): Вот, как была - с FAT16.
А теперь, как может выглядеть регистрация на не размеченный (raw, "сырой", не форматированный) диск (раздел диска)... на цифры (времена выполнения) пока не смотрим - это прогоны в совершенно разных условиях:

Код: Выделить всё

bash-4.2$ sudo umount /dev/sdb1

bash-4.2$ sudo ./randwr /dev/sdb1 10000 1k
длина файла 24643584, блоков в файле 24066
продолжительность выполнения случайной записи:
 268.017455s wall, 0.060000s user + 0.430000s system = 0.490000s CPU (0.2%)
в случайные позиции файла записано 10000 блоков длиной 1024 байт каждый
из 24066 блоков файла модифицировано 8246 блоков
длина файла после записи: 24643584
Здесь, конечно, никакой буферизации нет.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 19 мар 2013, 20:34

Olej писал(а): Вот, как была - с FAT16.
А теперь в самых разнообразных (по форматированию) файловых системах:

Код: Выделить всё

bash-4.2$ ls /usr/sbin/mk*
/usr/sbin/mkcephfs  /usr/sbin/mkfs	   /usr/sbin/mkfs.ext4	   /usr/sbin/mkfs.msdos  /usr/sbin/mkhomedir_helper
/usr/sbin/mkdict    /usr/sbin/mkfs.btrfs   /usr/sbin/mkfs.ext4dev  /usr/sbin/mkfs.ntfs	 /usr/sbin/mklost+found
/usr/sbin/mkdosfs   /usr/sbin/mkfs.cramfs  /usr/sbin/mkfs.hfsplus  /usr/sbin/mkfs.ubifs  /usr/sbin/mkntfs
/usr/sbin/mkdumprd  /usr/sbin/mkfs.ext2    /usr/sbin/mkfs.jffs2    /usr/sbin/mkfs.vfat	 /usr/sbin/mksquashfs
/usr/sbin/mke2fs    /usr/sbin/mkfs.ext3    /usr/sbin/mkfs.minix    /usr/sbin/mkfs.xfs	 /usr/sbin/mkswap
И это ещё далеко не все файловые системы, которые доступны выполняющейся в Linux программе (Windows-ной!) - другие файловые системы могут быть ещё дополнительно доустановлены.

Готовлю диск:

Код: Выделить всё

bash-4.2$ sudo mkfs.ext2 /dev/sdb1
mke2fs 1.42.3 (14-May-2012)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
6024 inodes, 24064 blocks
1203 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=24641536
3 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
        8193
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done

bash-4.2$ ls /mnt
dska  dskb  dskc  dskd  dske  efi  iso

bash-4.2$ sudo mount -text2 /dev/sdb1 /mnt/dskb

bash-4.2$ ls -l /mnt/dskb
итого 12
drwx------ 2 root root 12288 марта 19 13:56 lost+found
Теперь в этом разделе делаю базовый файл, в который будет запись (мгновенно!):

Код: Выделить всё

bash-4.2$ time sudo ./crenul /mnt/dskb/f0 -v -s 30M
создаётся файл /mnt/dskb/f0 размером 31457280 байт
real    0m0.033s
user    0m0.007s
sys     0m0.009s

bash-4.2$ time sync
real    0m0.562s
user    0m0.000s
sys     0m0.008s

bash-4.2$ df | grep sdb
/dev/sdb1            23300          204    21893            1% /mnt/dskb

bash-4.2$ sudo du -hs /mnt/dskb
17K     /mnt/dskb
И запись в такой (ext2) файловой системе:

Код: Выделить всё

bash-4.2$ sudo ./randwr /mnt/dskb/f0 10000 1k
длина файла 31457280, блоков в файле 30720
продолжительность выполнения случайной записи:
 397.704655s wall, 0.010000s user + 0.070000s system = 0.080000s CPU (0.0%)
в случайные позиции файла записано 10000 блоков длиной 1024 байт каждый
из 30720 блоков файла модифицировано 8537 блоков
длина файла после записи: 31457280

Аватара пользователя
Виктория
Писатель
Сообщения: 113
Зарегистрирован: 28 дек 2012, 14:05
Откуда: Самара
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Виктория » 20 мар 2013, 10:25

Olej писал(а):
Olej писал(а): 3. Использование вместо размеченных файловых систем для больших буферных пространств - сырого неразмеченного пространства диска, или раздела диска, непосредственно используя файловое имя типа /dev/sdb или /dev/sdb1. А когда этот диск что-то типа SSD, с однородным временем случайного доступа, без необходимости перемещать головки - то разница может стать весьма ощутимой.
...
P.P.S. Если кто раньше меня удосужится проверить это в Windows, то напишите о своих ощущениях ;-)
Не успеваем! У Вас темп слишком высокий.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 21 мар 2013, 16:53

Виктория писал(а):
Olej писал(а): P.P.S. Если кто раньше меня удосужится проверить это в Windows, то напишите о своих ощущениях ;-)
Не успеваем! У Вас темп слишком высокий.
С темпом - это кажущееся...
Мне теперь для проверки нужно будет установить Visual Studio в Windows ... который (и Visual Studio и Windows) я последний раз обстоятельно видел лет 10 назад :-( + потом и boost там установить...

1. У кого есть опыт свежее ;-) - какую Visual Studio ставить? ... для простых сравнительных программ Linux-Windows: 2008? 2010? 2012? (это то, что я вижу в обозримом доступе).

2. Поставлю пока отсюда - http://rutracker.org/forum/viewtopic.php?t=2566619, Visual Studio 2008 Professional Russian ... в составе:

Код: Выделить всё

bash-4.2$ ls
ru_visual_studio_2008_professional_edition_dvd_x86_x15-25526.iso
VS2008SP1RUS.iso
ru_msdn_library_for_visual_studio_2008_service_pack_1_x86_dvd_x15-29236.iso
 
bash-4.2$ tree
.
├── MSDN\ 2008\ for\ VS2008SP1\ Russian
│   └── ru_msdn_library_for_visual_studio_2008_service_pack_1_x86_dvd_x15-29236.iso
├── Visual\ Studio\ 2008\ Professional\ Russian
│   └── ru_visual_studio_2008_professional_edition_dvd_x86_x15-25526.iso
└── Visual\ Studio\ 2008\ SP1\ Russian
    └── VS2008SP1RUS.iso

3 directories, 3 files

bash-4.2$ du -hs
6,7G    .
Этого хватит? ... чтобы глубоко не вникать...

Или Microsoft Visual Studio Professional 2010 [RUS] - с торента http://www.seedoff.net/download.php?id= ... y=a0b2c437 ... - лучше будет?


3. Подскажите, как инсталлировать из образов .iso так, чтобы их не накатывать на DVD? ... максимум с USB-флешки ... лучше - из .iso файлов.

Аватара пользователя
Виктория
Писатель
Сообщения: 113
Зарегистрирован: 28 дек 2012, 14:05
Откуда: Самара
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Виктория » 21 мар 2013, 18:28

Olej писал(а):
3. Подскажите, как инсталлировать из образов .iso так, чтобы их не накатывать на DVD? ... максимум с USB-флешки ... лучше - из .iso файлов.
Можно использовать ImDisk http://www.ltr-data.se/opencode.html/#ImDisk

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 21 мар 2013, 18:40

Виктория писал(а):
Olej писал(а):
3. Подскажите, как инсталлировать из образов .iso так, чтобы их не накатывать на DVD? ... максимум с USB-флешки ... лучше - из .iso файлов.
Можно использовать ImDisk http://www.ltr-data.se/opencode.html/#ImDisk
Ну я так и предположил, что что-то подобное... Я взял UltraISO (http://www.ezbsystems.com/ultraiso/), я так думаю, что всё это "одного поля ягода" ;-) ...

Так ещё эти все .iso - UDF формата...
UltraISO их замечательно extract со всеми подкаталогами ... - дальше setup.exe, сейчас как-раз идёт выборочная установка (на кой ляд мне их VB, C# и MS Office?) ... как закончится - стану показывать сравнительные результаты. ;-)

P.S. Как же тягомутно это всё, что MS ! :-( И это на очень быстром компьютере i7, 4Gb RAM, где в Fedora 15 всё просто летает...
Давно забытые ощущения :lol:

Аватара пользователя
Виктория
Писатель
Сообщения: 113
Зарегистрирован: 28 дек 2012, 14:05
Откуда: Самара
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Виктория » 21 мар 2013, 19:02

А зачем нужно была Visual Studio? Можно было провести сравнение, используя mingw и boost. Или это нужно для чистоты эксперимента?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 21 мар 2013, 19:32

Виктория писал(а):А зачем нужно была Visual Studio? Можно было провести сравнение, используя mingw и boost. Или это нужно для чистоты эксперимента?
Ну, ... Visual Studio, как я привык ещё в те давние времена ;-) , нужен, естественно, для компиляции приложений C++ в .exe ;-) . Можно это и другим чем сделать ... я помню, в своё время, использовал французский free компилятор ASCII C99 (что-то из академических) ... сейчас и не вспомню - очень приличный. Или ещё что ... только не C++ Builder - свят, свят, свят :lol:

Мне интересны для сравнения "нативные" приложения Win32 (.exe, PE формата), как они будут выполняться под Wine, когда они под этим Wine смогут получить некоторые "неожиданные" ;-) возможности (из-под Linux), которых им не может дать Windows. И сравнение такого Wine-исполнения с исполнением тех же .exe, когда они крутятся в своей естественной среде обитания Windows. MinGW в этом смысле - это искусственная среда в Windows ... не интересно, а вот Boost в этих приложениях будет использоваться обязательно.

P.S. кроме того, на сайте Boost (http://www.boost.org/doc/libs/1_53_0/mo ... ndows.html) написано так:
If you plan to build from the Cygwin bash shell, you're actually running on a POSIX platform and should follow the instructions for getting started on Unix variants. Other command shells, such as MinGW's MSYS, are not supported—they may or may not work.
И мне совершенно не хочется разгребаться с несовместимостями. ;-) (вот даже редактор форума так отреагировал - что не надо это делать! :lol: )

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 21 мар 2013, 20:59

Olej писал(а): Или Microsoft Visual Studio Professional 2010 [RUS] - с торента http://www.seedoff.net/download.php?id= ... y=a0b2c437 ... - лучше будет?
Стоит уже вот эта штука... И тестовую задачу на проверку работоспособности уже собрал...
Olej писал(а):а вот Boost в этих приложениях будет использоваться обязательно.
Теперь остаётся Boost к ней приладнать.

Самые разные варианты установки Boost описаны на их сайте (зафиксируем):
Getting Started on Windows
Getting Started on Unix Variants
Это всё с тестовыми с проверкой работоспособности, с тестовыми примерами и т.п.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: исполнение промышленных проектов под Wine

Непрочитанное сообщение Olej » 22 мар 2013, 13:34

Olej писал(а): Самые разные варианты установки Boost описаны на их сайте (зафиксируем):
Getting Started on Windows
Как оказалось, установка Boost ver.1.53 (свежий) + Visual Studio 2010 имеет некоторые ... "особенности" ;-) , отличающиеся от того, что написано на сайте (не могу сказать ничего про Visual Studio 2008 или Visual Studio 2012).
Пришлось чуть-чуть поплясать с бубном... Поэтому есть смысл для памятки записать здесь:

1. скачал boost_1_53_0.zip (http://www.boost.org/users/history/version_1_53_0.html)

2. разархивировал в C:\Programm Files (как вариант) - получилось: C:\Programm Files\boost_1_53_0, это то, что в документации называют как boost root directory
(often C:\Program Files\boost\boost_1_53_0) is sometimes referred to as $BOOST_ROOT in documentation and mailing lists


3. там же на странице в разделе:
4. Build a Simple Program Using Boost
- беру пример и делаю VC проект example1...

4. В свойствах этого проекта, в поддереве "С/С++" => "Общие":
- в параметре "Дополнительные каталоги включаемых файлов" прописываю C:\Programm Files\boost_1_53_0 (именно так, никаких дополнительных подкаталогов);
- в параметре "Предварительно откомпилированный заголовок" ставим: "Не использовать ..."

5. Этого достаточно для сборки-выполнения проекта example1 + любого проекта, использующего заголовочные определения Boost (на манер как STL их таких там большинство).

6. Но этого не достаточно для использования компилированных библиотек Boost - в моих тестах это служба времени-хронометрирования.

7. Такие библиотеки нужно построить. Сделал это так:
- непосредственно в C:\Programm Files\boost_1_53_0 выполняю bootstrap.bat ...
- он построит b2.exe ...
- выполню b2.exe и он, не так и быстро, построит библиотеки.

8. там же на странице в разделе:
6 Link Your Program to a Boost Library
- беру пример и делаю VC проект example2...

9. В свойствах этого проекта, на этот раз (в дополнение тому, что ранее) в поддереве "Компоновщик" => "Общие":
- в параметре "Дополнительные каталоги библиотек" прописываю C:\Programm Files\boost_1_53_0\stage\lib (именно так, в описаниях написано другое ... пришлось в Интернет разыскивать);

10. После этого успешно собирается и проект example2 (для проверки) и проект randwr (перенесено из Linux, из-за которого всё и закрутилось).

Ответить

Вернуться в «Среды выполнения Windows-приложений»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость