Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение как запустилось приложение x64 или x86, Подгрузка нужной dll 
V
    Опции темы
Chesnok88
Дата 12.10.2009, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Здравствуйте, хотел узнать если в dotnet функция которая определяет, как запустилось приложение(как 32-битное или 64-битное)? Приложение скомпилировано, как AnyCPU, и работает под x64 и x86..

Это сообщение отредактировал(а) Chesnok88 - 12.10.2009, 07:24
PM MAIL   Вверх
ksili
Дата 12.10.2009, 07:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Не знаю как в шарпе, а на С++ есть функция IsWow64Process().
Плюс надо использовать функцию GetVersionEx(), чтоб узнать, а в какой мы вообще винде находимся.

Добавлено через 5 минут и 9 секунд
кстати 64-битное приложение не может подгрузить 32-битную библиотеку
и
кстати 32-битное приложение не может подгрузить 64-битную библиотеку

так что не бойся, того, что не надо, не подгрузишь.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Chesnok88
Дата 12.10.2009, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Цитата(ksili @ 12.10.2009,  07:26)
Не знаю как в шарпе, а на С++ есть функция IsWow64Process().
Плюс надо использовать функцию GetVersionEx(), чтоб узнать, а в какой мы вообще винде находимся.

Добавлено @ 07:31
кстати 64-битное приложение не может подгрузить 32-битную библиотеку
и
кстати 32-битное приложение не может подгрузить 64-битную библиотеку

так что не бойся, того, что не надо, не подгрузишь.

Вот поэтому и хочу создать два класса(с DllIMPORT) в одном будут грузиться dll для x32, а в другом x64.. и в зависимости от того как приложение запустилось подцеплять либо тот либо другой класс
PM MAIL   Вверх
Ctrl
Дата 12.10.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 12.2.2008
Где: Tula

Репутация: 6
Всего: 7



Все куда проще))
Код

    public static class Platform {
        public static bool IsX64 { 
            get { return IntPtr.Size == 8; } 
        }
        public static bool IsX86 {
            get { return IntPtr.Size == 4; }
        }
    }

PM MAIL ICQ   Вверх
Chesnok88
Дата 13.10.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Цитата(Ctrl @ 12.10.2009,  19:09)
Все куда проще))
Код

    public static class Platform {
        public static bool IsX64 { 
            get { return IntPtr.Size == 8; } 
        }
        public static bool IsX86 {
            get { return IntPtr.Size == 4; }
        }
    }

Спасибо.. Вчера тоже этот код нашел..Не успел отписаться...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.