C呼叫C寫的dll,建構函式出問題

2022-07-12 14:51:06 字數 2958 閱讀 8552

1樓:不輕易出現

i不應該是這樣嗎?

data dwr=new data("abc","efg");

2樓:匿名使用者

public data(string dbname,string tname)

加個public

c#呼叫dll的問題。這個問題困擾我很久了!

3樓:北堂一刀

我寫了個一個測試,你看看的```

首先是a.dll,我用的是def匯出,你也可以用declspec匯出,但是要注意,因為declspec匯出的時候,函式名可能會改變

//a.dll

int a(int a)

return a;

然後是b.dll,匯出同上

//b.dll

int fun(int a)

return a * 3;

編譯生成的兩個dll放到你的c#版的debug下,就是可執行檔案的那個目錄

這是c#下的測試

using system.runtime.interopservices;//要包含這一句的

namespace test

class program

[dllimport("a.dll")]

public static extern int a(int a);

[dllimport("b.dll")]

public static extern int fun(int a);

static void main(string args)

int a = a(2);

int b = fun(a);

console.writeline("the result is ", b);

結果如下

4樓:變成新手

這個東西很古老了,但是還是有很少人在用,extern就是為了引用底層函式庫的,c++只是其中一種適合的api而已,雖然沒寫過,但是要在c#裡面呼叫c++庫,首先你這個特性描述就不是很正確

[dllimport("a.dll")],裡面我記得應該還有方法名稱,等一些屬性需要設定的..你可以到網上搜尋一下關於c#呼叫非託管**的 文章,應該比較詳細...

5樓:匿名使用者

我也不是很懂那個,看dll就煩。。

6樓:

具體要看是什麼具體的初始化錯誤,

可能是 a.dll,b.dll 共享了一些資源

c# 呼叫第三方dll時發生程式崩潰 5

很急!!!!!! 我用c#呼叫c++寫的dll 但現在出現這樣的問題

7樓:匿名使用者

資料型別或者長度不匹配吧, c++ 裡資料型別跟c#裡資料型別是有差異的。

8樓:匿名使用者

典型的資料型別不匹配,這種情況我少說也碰到了幾十次了

c++中 char* 轉換成 c# 就是 string 型別

9樓:匿名使用者

型別轉換問題。寫成public static extern int test(string bs);試試呢,還有你的bs是out型麼?

10樓:匿名使用者

你用stringbuilder去試試看 public static extern int test(stringbuilder bs);

11樓:匿名使用者

c#呼叫c++的dll是需要轉換資料型別的 我有參考資料要的話hi我

菜鳥學c#,請教c#中如何呼叫dll中的函式,dll已經新增到引用了

12樓:匿名使用者

dll就是類的封裝,和其他類的函式使用的方式一樣,都要new類的例項,然後呼叫類裡的函式,只不過你一般寫是 class cal = new class();這種,如果是dll裡的這麼寫,假如你的dll名字叫text。那麼例項化的時候就寫text.class cal = new text.

class();只不過就是在類名前加上dll的名字就可以了,剩下的和普通類一樣!

13樓:紫色浪漫眼

函式在類中,類在名稱空間中,名稱空間在dll中,這樣就懂了嗎

14樓:匿名使用者

using system.runtime.interopservices;

[dllimport("dll.dll")]extern static private int open(int16 no);

然後在程式中調研open函式就行了

15樓:大海泛舟

請參考有原始碼

c#呼叫dll異常捕獲的問題

16樓:匿名使用者

自己編寫一個軟體,可以調出來!知道其中的內容!

c#呼叫c語言編寫的dll會不會產生什麼問題?

17樓:匿名使用者

首先,c#是可以呼叫c寫的dll的,引用時vs會自動將這個dll轉換為託管程式。

但是你這個dll是去呼叫別的c庫就會出問題,因為別的庫依然是非託管的。

18樓:匿名使用者

c#完全可以呼叫,你只需要注意點就是[dllimport("aio_api.dll")]的每次使用和釋放。

c#呼叫dll裡的方法出問題

19樓:匿名使用者

看見你這個問題好久了,我想都不願意回答,是因為你的**發的太亂了.

c怎樣呼叫類,c 中怎樣執行呼叫的dll檔案

加個 class1 class program class1 這個是在你 上加的,沒有向樓上的那樣,改了你的 program class1 其實都一樣的,哥們我還是勸你上課認真聽吧,我就後悔上課沒認真聽的,後來被學校送去培訓了半年的.net,現在才找到入門的感覺,哎 大學的生活好好珍惜吧,等工作了就...

C函式怎樣呼叫呢,C 函式的定義和呼叫方法

首先,將c 函式分為靜態函式,例項化函式。當c 函式分為靜態函式,呼叫的方式 類.靜態函式名稱 當c 函式分為例項化函式,呼叫的方式 物件.例項化函式名稱 補充一下 在本類中呼叫函式時,不管是那種函式,直接呼叫 函式名稱 即可。最簡單的就是在要呼叫的地方,直接寫函式名稱。建構函式是物件導向的程式設計...

C語言構造體的呼叫函式程式,請高手修改,真誠請你貼上能成功執行的程式

根據你對add函式的定義,main函式的int a,b,c add a,b,c 這兩行是不對的。另外你沒有對b和c初始化,這樣的計算也沒有意義,因為這樣的自動變數值是隨機的。可以改成以下這個樣子。include struct well typedef struct well well int add...