程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> (轉)C#調用C函數(DLL)傳遞參數相關問題

(轉)C#調用C函數(DLL)傳遞參數相關問題

編輯:C#入門知識

備忘:

1.C函數參數為字符串char*。如果是入參,對應C#中string或StringBuilder;如果是出參對應C#中StringBuider;

 

2.C函數參數為結構體指針,需在C#中對應定義結構體。如果是入參,C#中可為myfunction(MyStruct mystruct)或myfunction(ref MyStruct mystruct);如果是出參,C#中為myfunction(ref MyStruct mystruct)。有多個函數使用MyStruct參數時,如果有一個函數使用ref,則其它函數也要使用ref,無論其是否是出參,否則會在運行時提示出現內存錯誤。即要盡量保證同一結構體類型的參數在C#中定義的一致性。

 

3.C函數不能返回數組,但可將數組封裝為結構體的成員,通過返回結構體結果,從而得到要返回的數組。

 

其它參考文章:

平台調用P-INVOKE(一)--(基礎篇) :

http://blog.csdn.net/sdl2005lyx/article/details/6796037

平台調用P-INVOKE(二)--(封送字符串)

http://blog.csdn.net/sdl2005lyx/article/details/6799495

 

平台調用P-INVOKE(三)--(封送結構體)

http://blog.csdn.net/sdl2005lyx/article/details/6801113

 

平台調用P-INVOKE高級篇(一)--(封送含有二維數組的結構體)

http://blog.csdn.net/sdl2005lyx/article/details/6998969

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved