現在在windows下寫PHP擴充dll,擴充dll中如何調用其它已經寫好了的dll,如擴充dll調用php_mysql.dll 和win32下的dll
回複討論(解決方案)
不要做A語言代碼修改為B語言代碼的無用功。
也不要做用A語言代碼直接調用B語言程式碼程式庫這樣複雜、這樣容易出錯的傻事。
只需讓A、B語言代碼的輸入輸出重新導向到文字檔,或修改A、B語言代碼讓其通過文字檔輸入輸出。
即可很方便地讓A、B兩種語言之間協調工作。
比如:
A將請求資料寫到檔案a.txt,寫完後改名為aa.txt
B發現aa.txt存在時,讀取其內容,調用相應功能,將結果寫到檔案b.txt,寫完後刪除aa.txt,改名為bb.txt
A發現bb.txt存在時,讀取其內容,讀完後刪除bb.txt
以上A可以替換為任何一種開發語言或開發環境,B可以替換為任何一種與A不同的開發語言或開發環境。
除非A或B不支援判斷檔案是否存在、檔案讀寫和檔案更名。
但是誰又能舉出不支援判斷檔案是否存在、檔案讀寫和檔案更名的開發語言或開發環境呢?
可以將臨時檔案放在RamDisk上提高效率減少磨損磁碟。
資料的結構很複雜的話,文字檔的格式問題可參考json或xml
共用臨時文字檔這種進程之間的通訊方法相比其它方法的優點有很多,下面僅列出我現在能想到的:
·進程之間松耦合
·進程可在同一台機器上,也可跨機,跨作業系統,跨硬體平台,甚至跨國。
·方便調試和監視,只需讓第三方或人工查看該臨時文字檔即可。
·方便線上開關服務,只需刪除或建立該臨時文字檔即可。
·方便實現分布式和負載平衡。
·方便隊列化提供服務,而且幾乎不可能發生隊列滿的情況(除非硬碟空間滿)
·……
“跨語言、跨機,跨作業系統,跨硬體平台,跨國,跨*.*的” 苦海無邊,
回頭是“使用共用純文字檔案進行資訊交流”的 岸!
不知道 #1 在說些什麼!
網上有很多寫成 php 擴充的架構,你可以下載源碼看看(比如 phalcon)
不知道 #1 在說些什麼!
網上有很多寫成 php 擴充的架構,你可以下載源碼看看(比如 phalcon)
版主大大,具體怎麼調用,我對PHP不熟悉
這與熟不熟悉 php 沒多大關係吧?
既然你是在寫 php 擴充,想必你對C++ 時很熟悉的,那麼人家是怎麼調用的,你就怎麼調用