元件中的程式:
dll.h
#ifdef _declspec(dllexport)
#else
#define DLL_API _declspec(dllexport)
#endif
DLL_API int add(int a,int b);
DLL_API int z;
dll.cpp
int add(int a,int b)
{
z=a;
return a+b;
}
呼叫方的程式:
void CDllTestDlg::OnBnClickedBtnAdd()
{
// TODO: 在此添加控制元件通知處理程式代碼
int x;
x=add(int a,int b)
x=z;
}
每次運行完x=add(5,3)后,x值編程了8,是正常結果,可是運行完x=z后,x值變成了0,這是為什么呢?
我的理解是這樣的:
執行到x=add(int a,int b),呼叫元件,然后x=8,同時z=5,然后運行到x=z,x就變成了5,到底哪里錯誤呢?
希望大神幫忙解釋一下,謝謝!
uj5u.com熱心網友回復:
你呼叫動態庫的函式中的z是怎么宣告的?uj5u.com熱心網友回復:
x=add(int a,int b) 樓主,你這是唱得哪出呢,呼叫函式里怎么還有型別?uj5u.com熱心網友回復:
不要匯出變數轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/94370.html
標籤:基礎類
上一篇:win8.1下,怎么改變RadioButton控制元件的顏色?
下一篇:運行時問題:[BCC32 Error] strsvr.cpp(2): E2209 Unable to open include file 'vcl.h'
