这里一个错误会收到时编译:尝试编译模块Linux上用gcc
B-规格/ BS_Linux_Dynamic.cpp:57:11:错误:预期构造,析构函数,或类型之前转换“(”令牌 化妆[1]:* [推出/ b规格/ BS_Linux_Dynamic.o]错误1个 化妆[1]:离开目录`/home/mm/Плот/metamod-1.19/src” 化妆:* [所有]错误2
这里是源: http://pastebin.com/rhpPrmHv
感谢您的回复!
这里一个错误会收到时编译:尝试编译模块Linux上用gcc
B-规格/ BS_Linux_Dynamic.cpp:57:11:错误:预期构造,析构函数,或类型之前转换“(”令牌 化妆[1]:* [推出/ b规格/ BS_Linux_Dynamic.o]错误1个 化妆[1]:离开目录`/home/mm/Плот/metamod-1.19/src” 化妆:* [所有]错误2
这里是源: http://pastebin.com/rhpPrmHv
感谢您的回复!
的问题是在这里:
__declspec(naked) void CheckProtocol_AsmHelper_LDyn() {
这并不编译,因为__declspec(naked)
是微软的扩展,不支持gcc
。
你为什么不使用asm()
代替__asm{}
?由于linux内核也是这样做的,为什么不呢。另外,为什么你使用C++编写内核模块?
哦!并使用__attribute__((naked))
。
编辑:
你需要以一个分号结束每次调用asm()
。另外,asm()
将字符串作为参数,因此您需要引用您的汇编代码。您还需要使用\n
和\t
来指示这些字符串中的制表符和换行符。
好的,这里的错误日志 - http://pastebin.com/tEQcQypn 这里编辑 - http://pastebin.com/g9s4JRee – 2013-02-16 14:25:47
更新。对不起,忘了包含一些信息。 – cyphar 2013-02-17 04:22:23
好的,当我将“_declspec(裸体)”更改为“__attribute __(裸体)”我得到这个http://pastebin.com/JsDLRnEB – 2013-02-16 10:04:01