![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Как узнать битность операционной системы?
Добавлено @ 13:59 через SYSTEM_INFO структуру? Добавлено @ 14:01
Добавлено @ 14:01 Только так или еще как-то можно? Оффтоп: под Linux: http://www.nefigtut.ru/2011/02/20/32-vs-64/ Это сообщение отредактировал(а) Alca - 14.3.2011, 18:11 |
|||
|
||||
| Estranged |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: 3 Всего: 3 |
Используйте GetNativeSystemInfo в связке с IsWow64Process. Потому что 32-битное приложение через GetSystemInfo будет врать, даже если OS на 64 бита, просто это приложение видит ОС как 32-битную.
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
http://stackoverflow.com/questions/601089/...2-bit-or-64-bit
http://www.tek-tips.com/viewthread.cfm?qid...3774&page=6 http://codesearch.google.com/codesearch/p?...cd=14&ct=rc http://support.microsoft.com/kb/2060044/en-us Это сообщение отредактировал(а) Alca - 26.7.2011, 18:01 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
На сколько можно доверять такому коду? |
|||
|
||||
| Estranged |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 30.8.2010 Репутация: 3 Всего: 3 |
Что надо конкретно узнать? x64 приложение может предполагать сразу, что на 64 ОС оно же и запущено.
А вот с 32-битными приложениями не так. Хоть в C# не уверен в своей правоте. Компиляция: целевая платформа x64, всегда true, целевая платформа x86 - false, даже если это 32 битное запущено под wow64 на ос в 64 бита. Изначально я предполагал, что приложению любой битности надо узнать битность ОС, в которой это приложение запустили. |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
ну, если быть более точным, то вопрос сводится к другому: как узнать, запущен ли 32-х разрядный процесс в режиме эмуляции,
т.к. 64-разрядное ПО просто не запустится на 32-х разрядной оси т.е. ответ дает либо IsWow64Process, либо можно через CreateProcess попробовать запустить любой, исключительно 64-битный образ ( только WOW64 такой CreateProcess пропустит ) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 5 Всего: 50 |
Спасибо
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |