2013-03-27 84 views
7

這確實是我的一個愚蠢的特質,但我無法忍受GNU AS用來插入評論的方式。我太習慣於Sun的方式(大多數UNIX彙編程序都使用這種方式),它使用簡單的斜槓「/」將代碼註釋到行尾。GNU彙編器評論

你知道一種方法來完成我的小小突發奇想嗎?

+0

一些正則表達式(Vim,Perl,sed ...)可能會很容易地做到這一點。您可以在'Makefile'中添加適當的regex命令來預處理源代碼,將您選擇的註釋語法轉換爲對GNU AS有效的註釋語法。 – nrz 2013-03-27 15:58:43

+0

我的'as'版本(2.20.1,x86_64-linux-gnu)接受'/','//'和'#'作爲註釋初始者。 – Michael 2013-03-27 16:02:26

+0

@Michael:你看,只有當它是行中的第一個字符時,'/'才能在'as'中工作。你不能把它放在一條指令之後,將其餘部分註釋掉。 – mghis 2013-03-27 16:27:39

回答

11

是的,繼續使用#,你會習慣它。

可能有幾種方法可以使/正常工作,但您的代碼不僅僅是處理器特有的,而是字面上計算機特有的。習慣於小事情,而不是完全摧毀代碼的可移植性以幻想一下突發奇想。

15

在Gnu彙編器中,註釋開始字符是目標特定的。對於i386和x86_64,它是#。對於ARM,它是@(#對ARM不起作用)。

其他一些評論約定在某些條件下有效。我不確定細節。 //評論起始者和/ * * /多行註釋是我見過的例子。

+0

謝謝。我隨機嘗試了#,但當我試圖在非空行的末尾添加註釋時,顯然出現了錯誤。現在我正在使用@到處都是。 – 2014-11-11 11:55:02

+3

'@'對於ARM確實是 – JSmyth 2015-05-24 14:31:11

+0

這不可能是嚴肅的。它的 ;在AVR上 – thekiwi5000 2018-01-09 19:25:15