作者ab710912 (Leanne)
看板C_Sharp
標題[問題] 請問這幾段C++的語法怎麼改成C#?
時間Thu Jun 11 12:55:14 2020
簡單說呢..就是教授最近拿出一個古老學長寫得的程式然後是C++寫的
要我把阿改成C# 怎麼改啊!!!!
第一個是 這個
typedef void (__stdcall *fp_ABFL1dllTYPE)(double &,double &,double *,long
&,double &,double &,double &,double &,double &,double &,long &,char*,long );
fp_ABFL1dllTYPE ABFL1dll;
好像是在自定型別?
但是C#自訂型別好像是Class或是struct
但是都要先先給他一個命名?
public struct newtype
{
public int x, y;
public newtype(int p1, int p2)
{
x = p1;
y = p2;
}
}
C++好像沒有這個?
還有我看不懂 double &和 double * 是什麼
第二個是
HINSTANCE RefpropdllInstance;
RefpropdllInstance = LoadLibrary(L"./refprop.dll");
ABFL1dll = (fp_ABFL1dllTYPE) GetProcAddress(RefpropdllInstance,"ABFL1dll");
好像是在引用dll 但是好像C#沒辦法用他的dll...
另外問 是用dllImport嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.66.110 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1591851316.A.1A2.html
※ 編輯: ab710912 (123.192.66.110 臺灣), 06/11/2020 12:56:17
→ james732: 第一個叫做function pointer. double *是pointer, 06/11 20:34
→ james732: double &是reference 06/11 20:34
→ james732: C#類似function pointer的是delegate 06/11 20:35
推 s4300026: 第一個是delegate, newtype可以用point, &對應是c# 的r 06/13 13:11
→ s4300026: ef, c#對class 的傳遞是用*, double* 可以用陣列[], c#d 06/13 13:11
→ s4300026: ll import 我不會,我都用c++/clr直接把c++的東西包一層 06/13 13:11
推 name2name2: 我有用這篇大大題到的資訊試了有成功 樓主還有問題 06/15 20:34
→ name2name2: 也可以再提出看看 06/15 20:34