我将 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
是什么原因?