Определите архитектуру процесса

Я думаю, что Ваша система пропускает необходимое language pack для показа корректного слова, подходящего для языка, Вы использовались. Выполните Language Support приложение и установите то, в котором Вы нуждаетесь. Не забывайте нажимать Apply System wide также.

7
задан Peter Hosey 29 August 2009 в 02:03
поделиться

2 ответа

Можете ли вы использовать NSRunningApplication в операционных системах, где это доступно, и вернуться к sysctl, когда это не так? Я не думаю, что sysctl - это поддерживаемый API, как и большинство вещей, но если вы используете его только в старых ОС, все должно быть в порядке.

Попробуйте это, чтобы получить тип ЦП процесса:

   cpu_type_t  cpuType
   size_t      cpuTypeSize;
   int         mib[CTL_MAXNAME];
   size_t      mibLen;
      mibLen  = CTL_MAXNAME;
   err = sysctlnametomib("sysctl.proc_cputype", mib, &mibLen);
   if (err == -1) {
       err = errno;
   }
   if (err == 0) {
       assert(mibLen < CTL_MAXNAME);
       mib[mibLen] = pid;
       mibLen += 1;

       cpuTypeSize = sizeof(cpuType);
       err = sysctl(mib, mibLen, &cpuType, &cpuTypeSize, 0, 0);
       if (err == -1) {
           err = errno;
       }
   }

И проверьте CPU_ARCH_ABI64 , чтобы проверить наличие 64-разрядности.

6
ответ дан 7 December 2019 в 05:25
поделиться

Вы не говорите, каковы ваши требования, но класс NSRunningApplication , представленный в 10.6, предлагает действительно простой интерфейс для этого. Документы в настоящее время немного недоступны, но они есть.

2
ответ дан 7 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: