1

我将 asm 源添加到 KMDF 驱动程序项目:

.CODE

read_port PROC port : WORD, result_ptr : PTR BYTE

    mov dx, port
    in al, dx                       ; read port

    mov rbx, result_ptr
    mov BYTE PTR [rbx], al          ; place value at result address

ret

read_port ENDP

END

在 Driver.c 文件中,我可以像这样调用 read_port:

extern void read_port(unsigned short port, unsigned char* result);

//...

unsigned char val;
read_port(0, &val);

但是我不能像从其他源文件中那样调用这个函数,例如 test.cpp。编译器给了我未解决的外部问题。

测试.cpp:

extern void read_port(unsigned short port, unsigned char* result);

//...

unsigned char val;
read_port(0, &val);         // unresolved external

是什么原因?

4

0 回答 0