2
A
回答
2
是的,你可以。
zend_fetch_resource
將不起作用,因爲它接收可接受的資源類型,如果找到的資源不是其中之一,則會失敗。
只需使用
void *zend_list_find(int id, int *type);
從資源的zval可以用Z_RESVAL(zval)
提取ID。參數type
將填充找到的資源的類型。
但是,我沒有看到這方面的太多用法,除了可能創建一個var_dump
克隆。問題是,一旦你檢索了一個任意的資源,你將如何處理它?......通常,你對返回的數據結構一無所知。
,您可以直接獲取資源的名稱:
char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC);
相關問題
- 1. 如何在資源獲取失敗的情況下實現RAII
- 2. 如何在沒有FacesContext的情況下獲取資源路徑?
- 3. Android獲取資源文件夾以顯示資源類型
- 4. 資源類型
- 5. Android獲取資源類型的ID
- 6. Grep資源使用情況
- 7. MySQL資源使用情況
- 8. Zend Framework資源
- 9. Android:Howto獲取Android資源的資源ID
- 10. 如何在知道工作進度的情況下更新資源?
- 11. 如何獲取具有已知資源名稱的資源ID?
- 12. 從nl.siegmann.epublib獲取資源的位圖資源加載資源
- 13. REST - 在不休眠的情況下獲取新創建的資源
- 14. 在沒有WebResource.axd的情況下提取嵌入式資源
- 15. 如何在不發送任何資源的情況下獲取URL編輯
- 16. 如何在Azure資源組中沒有標籤的情況下獲取所有Azure資源
- 17. 返回資源ID,如果我知道資源的名稱
- 18. 在不使用Singleton的情況下封裝昂貴的資源
- 19. 在不更改資源名稱的情況下更改URL
- 20. XAML不知道資源文件夾
- 21. 獲取父資源
- 22. 獲取資源ID
- 23. 獲取Spring資源
- 24. Android,獲取資源?
- 25. mysql_connect問題,資源類型'未知'
- 26. 在未下載資源的情況下測試網頁
- 27. 在PagerAdapter中獲取資源
- 28. session_start()的資源使用情況()
- 29. 在不知道類型的情況下傳遞類的實例
- 30. Azure的資源管理器 - 獲取資源組的所有資源
哦,謝謝。我需要的是我正在完成PECL線程擴展(用於CLI),因爲我想創建一個服務器。但對於服務器,我需要能夠在兩個線程之間傳遞資源,並且我不能將zval從一個線程複製到另一個線程,對不對?所以我認爲我可以將資源存入真正的全局資源中,並且在請求時只需使用相同的資源指針(void *)註冊新的zval資源。 – innocenat 2010-08-02 08:54:04
@Nat這是行不通的。資源列表是一個線程局部變量。請參閱http://en.wikipedia.org/wiki/Inter-process_communication – Artefacto 2010-08-02 09:02:55
我要做的是在源線程中獲取資源,將資源(以void *形式)存儲在真正的全局資源中(而不是zend的TSRM ),並放回到目標線程的zval中。這應該可以,呃? IPC是不可能的,因爲資源是不可序列化的,是嗎? – innocenat 2010-08-02 09:25:17