3

CPU のアーキテクチャ タイプを見つける必要があります。マシンが syslinux を実行しているため、/proc/cpuinfo にアクセスできません。インライン ASM でそれを行う方法があることは知っていますが、変数 iedx が適切に設定されていないため、構文が間違っていると思います。

私は ASM と一緒に苦労していますが、決して専門家ではありません。誰かがヒントを持っているか、正しい方向に私を向けることができれば、私は大いに感謝しています.

static int is64Bit(void) {
    int iedx = 0;
    asm("mov %eax, 0x80000001");
    asm("cpuid");
    asm("mov %0, %%eax" : : "a" (iedx));
    if ((iedx) && (1 << 29))
    {
        return 1;
    }
    return 0;
}
4

1 に答える 1