星期日, 8月 09, 2009

perl xsub compiling warning: unused variable 'items'

在compile xsub 的時候,perl 會自動生成 bootstrap function, 執行時透過呼叫這個bootstrap 把其他 subroutine 生出來. 但是由於 perl 的機制,會在產生出來的bootstrap 裡面加上 item 這個變數卻又不用他,當開發時打開 -Wall 就會覺得很惱人。上網找了一下,在 DBI 的原始碼裡面看到了用這樣的方法:

BOOT:
items = items; /* avoid 'unused variable' warning */

只要在 .xs 裡面加入這兩行,在xsubpp 轉換出來的 bootstrap 裡面就會有 items = items; 的 statement,compile 以後也就不會有 warning 了。

2 則留言:

Arrakeen 提到...

原來你也在玩 perl 而且還是 xs !
(握手)

Unknown 提到...

呵呵(笑握), perl 對我來說就像很漂亮的 C, cpan 又那麼棒, 一直都是我最喜歡的 script language. 只可惜用 perl 的人越來越少了...(嘆)