這裏一個錯誤會收到時編譯:嘗試編譯模塊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