MFC中如何调用C语言文件
原来是学C的,最近做一个MFC的程序,看了C++和MFC几天,突然想用原来写的C语言代码,就一个.c和一个.h的文件准备直接include进去,结果编译是各种错误,另外C...
原来是学C的,最近做一个MFC的程序,看了C++和MFC几天,突然想用原来写的C语言代码,就一个.c和一个.h的文件准备直接include进去,结果编译是各种错误,另外C程序文件中带有结构体,想问下MFC里面使用这样的结构体跟C语言里面方法一样么。
突然发现是我头文件里面的一个枚举有错
typedef enum {OK, ERROR, OVERFLOW, UNDERFLOW} Status;
去掉这句,再把返回值Status改成int就可以了,可是这是为什么啊 展开
突然发现是我头文件里面的一个枚举有错
typedef enum {OK, ERROR, OVERFLOW, UNDERFLOW} Status;
去掉这句,再把返回值Status改成int就可以了,可是这是为什么啊 展开
6个回答
展开全部
可以按照以下方式进行,实行时不分先后。
一、调用函数部分。
1 引入头文件。头文件在C语言中,负责声明函数,及定义相关数据结构等功能。要调用其它C文件中的函数,标准的做法是引用头文件。
2 如果不存在头文件,需要自行编写,也可以在引用文件中自行声明函数。不过后一种并不正规。
3 在声明或引用头文件后,就可以直接调用其函数了。
二、获取计算结果。
1 通过函数返回值获取结果。
2 通过函数参数获取结果。
3 在其它C文件中奖结果存入全局变量,然后通过全局变量获取结果。
以上三种方式均可以实现目的,具体使用取决于C文件的编写方式。对于简单数据类型,且结果单一的情况,一般使用第一种。复杂数据类型,或者需要的结果可能为多个变量的情况,一般使用第二种。不推荐使用第三种,尤其在多线程操作情况下。
一、调用函数部分。
1 引入头文件。头文件在C语言中,负责声明函数,及定义相关数据结构等功能。要调用其它C文件中的函数,标准的做法是引用头文件。
2 如果不存在头文件,需要自行编写,也可以在引用文件中自行声明函数。不过后一种并不正规。
3 在声明或引用头文件后,就可以直接调用其函数了。
二、获取计算结果。
1 通过函数返回值获取结果。
2 通过函数参数获取结果。
3 在其它C文件中奖结果存入全局变量,然后通过全局变量获取结果。
以上三种方式均可以实现目的,具体使用取决于C文件的编写方式。对于简单数据类型,且结果单一的情况,一般使用第一种。复杂数据类型,或者需要的结果可能为多个变量的情况,一般使用第二种。不推荐使用第三种,尤其在多线程操作情况下。
展开全部
1、直接使用。#include 包含然后就可以用。MFC是C++的产物,C++里面基本上可以用所有C语言的东西,所以在mfc里面用C完全没有问题,不过注意mfc的视图类(与控件等关联的)等类不允许随便创建对象。
2、一样的使用的,只需要包含C所需要的头文件就可以了,不过MFC里面用的API调用传的参数都是经过封装的,有时候不是直接可以传C语言定义的各种类型,需要转化,所以还是直接在MFC里用MS封装过的类型基本上可以了。
2、一样的使用的,只需要包含C所需要的头文件就可以了,不过MFC里面用的API调用传的参数都是经过封装的,有时候不是直接可以传C语言定义的各种类型,需要转化,所以还是直接在MFC里用MS封装过的类型基本上可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MFC不是语言,MFC是---微软基础类库,依赖于C++
C++理论上兼容大部分C语法,C的结构体C++是可以用的(但是C++的结构体更为强大)
C++理论上兼容大部分C语法,C的结构体C++是可以用的(但是C++的结构体更为强大)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.在原来的C语言文件里面的头部加上 extern "C" 就行了。
2.一样。
2.一样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用
#include 包含然后就可以用啦!
MFC是C++的产物,C++里面基本上可以用所有C语言的东西,
所以在mfc里面用C完全没有问题,
不过注意mfc的视图类(与控件等关联的)等类不允许随便创建对象
#include 包含然后就可以用啦!
MFC是C++的产物,C++里面基本上可以用所有C语言的东西,
所以在mfc里面用C完全没有问题,
不过注意mfc的视图类(与控件等关联的)等类不允许随便创建对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询