小编Jus*_*oob的帖子

为什么要为同名函数定义宏?

我在https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/atomic.h 中找到了下面的代码

static __always_inline bool arch_atomic_sub_and_test(int i, atomic_t *v)
{
        return GEN_BINARY_RMWcc(LOCK_PREFIX "subl", v->counter, e, "er", i);
}
#define arch_atomic_sub_and_test arch_atomic_sub_and_test
Run Code Online (Sandbox Code Playgroud)

什么是#define真的?什么时候需要这样做?

c linux-kernel

12
推荐指数
1
解决办法
413
查看次数

可信计算和机密计算有什么区别?

看来可信计算和机密计算都可以保护使用中的数据。
可信计算是基于TPM,机密计算是基于Intel SGX吗?
还有什么区别吗?

security tpm sgx

7
推荐指数
1
解决办法
1491
查看次数

带有或不带有 INF 文件的 Windows 驱动程序

我见过两种安装 Windows 驱动程序的方法。
一种。使用 SYS 文件和 INF 文件。(如 NDIS 驱动程序)
b.仅使用 SYS 文件,驱动程序将由服务加载。(例如 C:\Windows\System32\drivers 中的驱动程序)

所以,我的问题是:
1. 什么样的驱动程序或情况需要 INF 文件?
2. 这种差异的根本原因是什么?

windows driver wdk kmdf wdf

2
推荐指数
1
解决办法
1759
查看次数

如何将整数转换为LARGE_INTEGER

如何将整数转换为LARGE_INTEGER?

例如,当我想立即触发计时器时:

LARGE_INTEGER zero;  
zero.QuadPart = 0;  
KeSetTimer(pTimer, zero, pDpc);
Run Code Online (Sandbox Code Playgroud)

有没有办法将0转换为LARGE_INTEGER?所以我可以这样做:

KeSetTimer(pTimer, (SomeType)0, pDpc);
Run Code Online (Sandbox Code Playgroud)

我试过了:

KeSetTimer(pTimer, (LARGE_INTEGER )0, pDpc);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我用谷歌搜索,但找不到任何帮助.

c windows winapi driver timer

1
推荐指数
2
解决办法
1062
查看次数

关于C语言中"goto"的一些问题

我有一些问题.这goto是我的代码:

int main(){ 
    int a = 1;
    if (a<0)
        goto out;
    out:
    printf("out");
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

问题是,无论价值如何a(例如:a=-1a=0),out都可以打印出来.
谁能告诉我原因,非常感谢你.

c printf goto

-5
推荐指数
2
解决办法
434
查看次数

标签 统计

c ×3

driver ×2

windows ×2

goto ×1

kmdf ×1

linux-kernel ×1

printf ×1

security ×1

sgx ×1

timer ×1

tpm ×1

wdf ×1

wdk ×1

winapi ×1