PHP呼叫C 開發的dll類庫方法

2021-07-09 04:23:28 字數 1476 閱讀 8535

這篇文章主要介紹了php呼叫c#開發的dll類庫方法,包含乙個完整的詳細的dll製作步驟和php呼叫方法,需要的朋友可以參考下

有的時候,我們需要在php中利用到其他語言編寫的dll類庫,如c#編寫的dll,方法就是利用php new com方法來呼叫,在呼叫之前先要把dll庫註冊並把程式集放入到全域性快取中。

3. 建立強命名簽名檔案並使用

使用vs.net的「vsitual studio .net工具」-->vistual studio .net命令提示符,輸入 sn -k d:\helloworld.snk 回車即建立了強命名簽名檔案

開啟專案的屬性,點選左邊signing 勾上sign the assembly 在 choose a strong name key file:處選擇

選擇剛才建立的helloworld.snk檔案

4. 建立類庫並編譯成dll

複製**

**如下:

namespace helloworld 

}  }

5. 找到dll資料夾路徑,然後使用vs.net的「vsitual studio .net工具」-->vistual studio .net命令提示符

進入該dll資料夾下輸入:

複製**

**如下:

regasm  helloworld.dll《回車》

這時候,這個.dll的.net程式集就變成乙個標準的com元件了,但是還不能用,必須讓它變成全域性com元件.

將程式集新增到全域性程式集快取中

進入提示符視窗,輸入:

複製**

**如下:

gacutil /i helloworld.dll《回車》

這時,你的這個dll就被複製到全域性程式集快取中了.也就是說無論在這個電腦的哪個硬碟上都可以使用此dll元件了.

如果不進行強命名簽名,這一步會提示載入失敗

php測試:

複製**

**如下:

<?php  

$r=new com("helloworld.hello"); 

$s=$r->write(); 

echo $s; 

?>

命令符下:

複製**

**如下:

cd [/d] [drive:][path]  #進入指定路徑

cd [..] #返回父目錄

原文**:

C 呼叫C 類庫生成的dll

新建專案 visual c 類庫 net framework 在 bin debug xx.dll 新建專案 visual c 空專案 右鍵屬性 常規 專案預設值 公共語言執行時支援 clr 將生成的dll檔案拷貝到debug目錄下 如果是release則拷貝到release目錄下 原始檔 新增 新...

C 呼叫DLL庫的方法

1 在c 專案的根目錄下,建立乙個資料夾,叫 thirdparty 在thirdparty裡面新建 include lib 資料夾。include中存放dll庫相關的所有標頭檔案,lib中存放dll庫相關的lib檔案。2 在專案屬性中,vc 目錄 包含目錄 中新增新建的include目錄 3 在專案...

C 呼叫C 的動態庫dll

以往我們經常是需要使用c 來呼叫c 的dll,這通過pinvoke就能實現。現在在實際的專案過程中,有時會遇到在c 的專案中呼叫某個c 的dll來完成特定的某個功能,我們都知道,native c 是沒辦法直接呼叫.net平台的dll的。那有沒有辦法來做到這一點了?答案是肯定的。雖然,native c...