0

这是我在编译时遇到的错误:

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

感谢您的回复!

4

2 回答 2

3

问题在这里:

__declspec(naked) void CheckProtocol_AsmHelper_LDyn() {

这不会编译,因为__declspec(naked)它是一个不受gcc.

请参阅gcc/g++ 中 __declspec(naked) 的等效项

于 2013-02-16T09:58:01.647 回答
1

你为什么不使用asm()而不是__asm{}?既然linux内核也是这样做的,你为什么不呢。另外,为什么要使用 c++ 编写内核模块?

哦!并使用__attribute__((naked)).

编辑:

您需要以asm()分号结束每次调用。此外,asm()将字符串作为参数,因此您需要引用包装您的汇编代码。您还需要使用\nand\t来指示这些字符串中的制表符和换行符。

于 2013-02-16T13:02:46.180 回答