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. Grep資源使用情況
- 3. MySQL資源使用情況
- 4. Android:Howto獲取Android資源的資源ID
- 5. 如何在知道工作進度的情況下更新資源?
- 6. Zend Framework資源
- 7. 如何獲取具有已知資源名稱的資源ID?
- 8. 從nl.siegmann.epublib獲取資源的位圖資源加載資源
- 9. REST - 在不休眠的情況下獲取新創建的資源
- 10. 在沒有WebResource.axd的情況下提取嵌入式資源
- 11. 如何在不發送任何資源的情況下獲取URL編輯
- 12. 如何在Azure資源組中沒有標籤的情況下獲取所有Azure資源
- 13. 在不使用Singleton的情況下封裝昂貴的資源
- 14. XAML不知道資源文件夾
- 15. 獲取Spring資源
- 16. session_start()的資源使用情況()
- 17. 在不知道類型的情況下傳遞類的實例
- 18. C#在不知道類型的情況下獲取對象的名稱
- 19. 在沒有Visual Studio的情況下在C#中嵌入資源
- 20. 在使用全球資源時未發現強類型資源
- 21. 在不影響REST中子資源的情況下更新資源的正確HTTP方法
- 22. 獲取資源的URL
- 23. 無法獲取類路徑的資源
- 24. 獲取子包類的資源
- 25. 資源ServletContext資源不存在
- 26. 在沒有XHR的情況下加載資源
- 27. Rails繼承資源使用情況
- 28. 如何獲取DB資源知道DB名稱?
- 29. urllib2 - 如果您已經知道IP,則獲取資源
- 30. Scala類型編程資源
哦,謝謝。我需要的是我正在完成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