![]() |
|
Модераторы: xvr |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
||||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Такой функции я тоже не встречал. Получить информацию о тактовой частоте каждого процессора можно с помощью функции CallNtPowerInformation(). Добавлено @ 15:50
Добавлено через 6 минут и 36 секунд Вот этот код, в принципе, можно было бы обернуть в #ifdef WINDOWS/#elif UNIX/#endif... и можно парсить системный файл, но как-то это примитивно и неправильно... Это сообщение отредактировал(а) KaraKum - 10.1.2011, 15:53 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
т.е. вам не нравится в линухе cpuid из-за того что невозможно указать о каком процессоре получить информацию. в то же время, оказывается, что это невозможно и в вендаусе зы а код порадовал. особенно хранение в с++ контейнере сырых указателей. а выделение памяти двумя способами(malloc() и new[]) - так это вообще загадка это код не портировать нужно, а переписывать. Это сообщение отредактировал(а) boostcoder - 10.1.2011, 16:05 |
|||
|
||||
| KaraKum |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Эмм, я говорил что обо ВСЕХ процессорах нужна информация о тактовой частоте. cpuid - это другая информация о процессоре (марка, модель, брэнд...) - тактовую частоту там даже нельзя получить. cpuid() работает и в линуксе и в виндовсе (и портировать не нужно).
Это не ко мне, а к ребятам из Microsoft'а. Добавлено через 1 минуту и 11 секунд А к коду претензий нет - всё-таки его нужно портировать, а не переписывать. |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Честно - не проверял (ибо лень), но вообще самое высокоуровневое АПИ - это по идее WMI. Выбираем всё по "select * from Win32_Processor" и используем кучу полей: http://msdn.microsoft.com/en-us/library/aa...v=vs.85%29.aspx (там примеры на VBScript, на С++ побольше кода уйдёт на инициализацию COM, запрос нужных провайдеров и пр., но суть таж). |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
WMI - это не совсем WinAPI, мне так кажется.. Добавлено через 6 минут и 34 секунды в добавок: http://stackoverflow.com/questions/2418921...peed-in-c-linux |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Странно это как-то - парсить файлы, сгенерированные операционной системой. Ненужный посредник возникает...
Хотя ничего страшного - это всё-равно требуется сделать только один раз - при запуске программы. Про "adapter info" (имя сетевой карты ("Realtek JBC 5460 ...")) не ясно |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: нет Всего: 10 |
||||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
А вот всё что связано с этими файлами - это конкретно нововведение в Linux'е? Или ещё Unix'а?
Как вообще это посредничество в виде файлов называется? Наверное там и про адаптеры (сетевые карты) что-нибудь вычитать (распарсить) можно... |
|||
|
||||
| panter |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 10.1.2011 Где: Санкт-Петербург Репутация: нет Всего: нет |
Unix, на сколько я знаю. Кстати, это не совсем файлы. Там много чего можно найти.
|
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: нет Всего: 10 |
http://ru.wikipedia.org/wiki/Procfs |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Вот это огорчает. А мне говорили что FreeBSD может запускать бинарники Linux'а. Походу ошибались... А как можно узнать в Unix'е имя операционной системы? |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
man 2 uname
-------------------- undefined |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Спасибо за функцию!
Из статьи про procfs:
Чем тогда они в будущем будут заменены во FreeBSD? (или заменены сейчас, раз ликвидируются постепенно?) |
|||
|
||||
| fish9370 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 2 Всего: 1 |
sysfs (/sys) - это еще одно представление информации о железе через файловую систему, но хоронить procfs я бы пока не стал.. -------------------- undefined |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |