2013-01-21 33 views
0

我試圖編譯C語言編寫的一個BSP程序,我得到這個奇怪的錯誤消息:Ç - 彙編消息

/tmp/ccEDn8lx.s: Assembler messages: 
/tmp/ccEDn8lx.s:141: Error: illegal immediate register operand (%rip) 

代碼:http://pastebin.com/cuz026ji

有誰知道什麼原因這個?

+0

你在編譯什麼?英特爾x64?對於64位機器,在64位機器上? –

+0

@Aniket這是一個遠程Unix服務器,任何想法如何我可以弄清楚它是哪一個? – Shmoopy

+0

「uname -a」會告訴你它是什麼版本的unix。這似乎很奇怪,因爲彙編程序是由編譯器調用的,所以它幾乎就像彙編程序對於編譯器是錯誤的... –

回答

0

我試圖在遠程unix服務器上編譯時彈出此錯誤。我的cpp文件可以在其他地方編譯,但是在遠程unix服務器上它會吐出相同的錯誤消息:非法立即註冊操作數(%rip)。事實證明,我試圖使用一個不允許的角色。也就是說,我有「$」作爲變量,一旦我替換它,它會編譯。