这是编译时遇到的错误:
b-spec / BS_Linux_Dynamic.cpp:57:11:错误:'('令牌)之前的预期构造函数,析构函数或类型转换 make [1]: * [Release / b-spec / BS_Linux_Dynamic.o]错误1 make [1]:离开目录`/home/mm/Плот/metamod-1.19/src' make:* [all]错误2
这里是来源: http://pastebin.com/rhpPrmHv
感谢您的回复!
答案 0 :(得分:3)
问题在于:
__declspec(naked) void CheckProtocol_AsmHelper_LDyn() {
这不会编译,因为__declspec(naked)
是gcc
不支持的Microsoft扩展程序。
答案 1 :(得分:1)
为什么不使用asm()
代替__asm{}
?由于linux内核也是这样做的,为什么不呢。另外,为什么使用c ++编写内核模块?
哦!并使用__attribute__((naked))
。
编辑:
您需要以分号结束对asm()
的每次调用。此外,asm()
将字符串作为参数,因此您需要引用汇编代码。您还需要使用\n
和\t
来指示这些字符串中的标签和换行符。