2014-03-24 48 views

回答

1

您不應該使用PaUtil_AllocateMemory()。它不是PortAudio公共API的一部分。我已經提交了一份bug against the example。感謝提出這個問題。

也就是說,該示例似乎旨在演示PortAudio中一些底層內部數據結構的使用。特別是PortAudio環形緩衝區。它不應該被視爲使用PortAudio公共API的一個很好的例子。

0

有圖書館,可以用自己的分配功能的幾個原因:

  1. 他們可以使用的內存預分配或高速緩存以提高性能。
  2. 它允許他們跟蹤引用,使捕獲內存泄漏更容易。
  3. 如果使用Portaudio作爲DLL,它可以確保結構全部分配在同一個堆上。
  4. 確保所有內存分配都與特定字節邊界對齊。

望着PortAudio源,它看起來像他們使用他們的分配方法,如果啓用內存跟蹤跟蹤引用,並確保內存分配都在同一個堆。

無論採用哪種方式,如果提供庫,使用庫的分配和釋放函數是最佳實踐。

相關問題