这是我在编译时遇到的错误:
b-spec/BS_Linux_Dynamic.cpp:57:11: 错误: '(' token make[1]: * [Release/b-spec/BS_Linux_Dynamic.o] 错误 1 make[1]之前的预期构造函数、析构函数或类型转换: 离开目录 `/home/mm/Плот/metamod-1.19/src' make: * [all] Error 2
这里是来源: http: //pastebin.com/rhpPrmHv
感谢您的回复!
这是我在编译时遇到的错误:
b-spec/BS_Linux_Dynamic.cpp:57:11: 错误: '(' token make[1]: * [Release/b-spec/BS_Linux_Dynamic.o] 错误 1 make[1]之前的预期构造函数、析构函数或类型转换: 离开目录 `/home/mm/Плот/metamod-1.19/src' make: * [all] Error 2
这里是来源: http: //pastebin.com/rhpPrmHv
感谢您的回复!
问题在这里:
__declspec(naked) void CheckProtocol_AsmHelper_LDyn() {
这不会编译,因为__declspec(naked)它是一个不受gcc.
你为什么不使用asm()而不是__asm{}?既然linux内核也是这样做的,你为什么不呢。另外,为什么要使用 c++ 编写内核模块?
哦!并使用__attribute__((naked)).
编辑:
您需要以asm()分号结束每次调用。此外,asm()将字符串作为参数,因此您需要引用包装您的汇编代码。您还需要使用\nand\t来指示这些字符串中的制表符和换行符。