C呼叫C寫的DLL問題

2021-05-02 22:10:17 字數 833 閱讀 3775

1樓:

using system.runtime.interopservices;

在 c# 中的呼叫寫的有問題 引數型別弄錯了

[dllimport("comm.dll", entrypoint = "registeronzxtcp", exactspelling = false, callingconvention = callingconvention.cdecl)]

//參 數:hwnd ------- winnttcp視窗控制代碼 c#中的控制代碼型別為 intptr

//curpno ------- 介面機的pno 可以設為string 型別

//輸 出:bool值,註冊是否成功

public static extern bool registeronzxtcp(intptr hwnd, string curpno);

2樓:

你的意思是用c#呼叫c寫的dll對吧?

以前弄過,好久了

好像是在使用dll的時候標頭檔案中必須加上

using system.runtime.interopservices;

你試試看吧

3樓:我是小狼的說

__declspec(dllexport)宣告方式的dll的確沒有在c#呼叫的經驗。。

要不要宣告__declspec(dllinport)呢?

好吧當我沒說 = =

4樓:匿名使用者

不會是函式有問題吧 這也太奇怪了 可以返回說明可以執行 但是返回不正確

是不是引數傳遞中出問題了 費解

C程式呼叫c 的dll,怎樣把dll中函式返回的陣列賦值給c程式中的陣列

c 裡在陣列最後加乙個不可能的數字比如 1,之後在c 裡面讀出來 c char a char buf int i 0 while buf i 0 i 49 buffer i 1 return buffer c unsafe 或者可以在dll 裡面再寫乙個函式int getsize 返回陣列的長度 c...

c語言程式設計函式呼叫問題,C語言程式設計函式呼叫問題

char in if in yi 錯了。char in 只能容納 1 個 ascii 符號。改 char in 4 printf 解方程應用 n n您要解的方程是?n printf 一元二次方程 yi n printf 二元一次方程 er n scanf s in 0 if strcmp in,yi...

c語言 呼叫函式求最大值問題,C語言 呼叫函式求最大值問題

printf 最大的數是 n max printf 最大的數是 d n max printf 最大的數是 d n max a 10 10 這樣應該就可以了!您的程式有多處錯誤。既然是初學,就先把最基本的東西都弄清楚啊,否則別人都不願意幫您。簡單列出您的錯誤如下 1 在max函式內又宣告了a 10 這...