mfc中的extern
时间: 2024-06-14 20:03:25 浏览: 15
在MFC中,extern关键字用于声明一个变量或函数是在其他文件中定义的。它告诉编译器该变量或函数的定义在其他文件中,因此编译器不会在当前文件中为其分配内存或生成代码。这样可以避免在多个文件中定义同一个变量或函数时出现重复定义的错误。
在引用中,extern const CString a;声明了一个在其他文件中定义的常量字符串a,并在CTestMFCDlg::OnOK()函数中使用了它。
在引用中,extern const CString a = "aaa";定义了一个常量字符串a,并在Main.cpp文件中使用了它。由于使用了extern关键字,编译器不会在Main.cpp文件中为其分配内存或生成代码,而是在其他文件中定义的a变量。
需要注意的是,extern关键字只是声明变量或函数在其他文件中定义,而不是定义变量或函数本身。因此,在其他文件中必须定义该变量或函数,否则会出现链接错误。
相关问题
mfc中怎样定义并初始化全局变量
在MFC中,可以在类中定义静态成员变量作为全局变量,也可以在.cpp文件中定义全局变量。
1. 在类中定义静态成员变量:
在类的头文件中声明静态成员变量,如:
class CMyApp : public CWinApp
{
public:
static int m_nVar;
};
在类的实现文件中初始化静态成员变量,如:
int CMyApp::m_nVar = 0;
2. 在.cpp文件中定义全局变量:
在.cpp文件中定义全局变量,如:
int g_nVar = 0;
需要注意的是,如果在多个.cpp文件中定义了同名的全局变量,会导致链接错误。为了避免这种情况,可以在定义变量时加上关键字“extern”,在其他.cpp文件中使用时也要加上关键字“extern”。例如:
//在.cpp文件中定义全局变量
extern int g_nVar;
//在其他.cpp文件中使用全局变量
extern int g_nVar;
labview调用 mfc dll
LabVIEW可以通过使用Call Library Function Node来调用MFC DLL。以下是调用MFC DLL的步骤:
1. 创建一个新的VI并拖入一个Call Library Function Node。
2. 在Call Library Function Node的Configure Function Call对话框中,选择“Add…”来添加DLL文件。
3. 添加DLL文件后,可以添加函数原型。如果DLL文件已经包含了导出函数的信息,可以在“Prototype Information”选项卡中自动检测函数原型。否则,需要手动输入函数原型。
4. 将输入和输出参数与函数原型中的参数匹配。可以使用“Create Constant”或“Create Control”来创建输入参数和输出参数。
5. 点击“Run”按钮运行VI。
需要注意的是,MFC DLL使用的是C++语言,而LabVIEW使用的是G语言,因此需要在DLL中使用extern "C"来声明导出函数。另外,由于MFC DLL是在Windows操作系统上运行的,因此需要在Windows操作系统上使用LabVIEW。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)