2011-06-28 50 views

回答

6

它不需要 - 二進制代碼定義模塊名稱空間中的一些變量和函數,它們可以像常規變量一樣使用。 .pm文件只需要確保在需要時加載.so。這由DynaLoader模塊完成。通過繼承DynaLoader,確保在您的類上調用未知方法時加載了.so文件。

+0

你沒有提到'.pm'如何映射到'.so'。 – Learning

+1

@學習:這是由DynaLoader(或其輕量級表兄弟XSLoader)完成的;如果你願意,你可以閱讀它的來源,但是沒有人需要關心它的工作原理。 – ysth

+1

@學習:對於模塊'Foo :: Bar',文件是'auto/Foo/Bar.so' - 規則幾乎與'.pm'文件相同,但是前面加了auto /'目錄。 –