MFC中已经添加好了C语言编写的文件,如何调用其中的函数和其中的计算出的数据

千辛万苦终于在我做好的MFC中添加了别人的C语言编写的两个.C文件和头文件,经编译没有错误。我需要这两个C文件进行数据计算。小弟刚学编程,不知道怎么调用C文件的函数,例如... 千辛万苦终于在我做好的MFC中添加了别人的C语言编写的两个.C文件和头文件,经编译没有错误。
我需要这两个C文件进行数据计算。
小弟刚学编程,不知道怎么调用C文件的函数,例如按下一个按钮,在按钮关联函数中调用C文件的函数进行计算,具体在怎么弄? 我刚刚试过一种方法,别人说把C文件的函数都添加到对话框的类里面,但真的工作量太大了,整个程序有上万行代码。而且C文件还有好多变量,老是提示我重复定义了。 求助各位!!!
1.我现在调用了main这个函数可以成功,反而调用其他函数不能成功。(好像是C++与C的不同,在函数名称编译后是有改变的,所以无法调用,这个怎么解决)
2.调试看到main函数在跑了,但是我接着在mfc这边想要输出main里面的一个变量,但就是输出来的值总是0,这个变量是在C程序的头文件声明了的,不是static,所以我在mfc应该可以调用呀。
3..另外我调试的时候总是看到很多变量值是0,但是程序是正常运行了的,(在txt文本输出了数值),神奇的是。。过一会调试时看到变量的值又恢复正常的变化了。。。为什么呀?
展开
 我来答
风若远去何人留
推荐于2016-10-29 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
可以按照以下方式进行,实行时不分先后。
一、调用函数部分。
1 引入头文件。头文件在C语言中,负责声明函数,及定义相关数据结构等功能。要调用其它C文件中的函数,标准的做法是引用头文件。

2 如果不存在头文件,需要自行编写,也可以在引用文件中自行声明函数。不过后一种并不正规。
3 在声明或引用头文件后,就可以直接调用其函数了。

二、获取计算结果。
1 通过函数返回值获取结果。
2 通过函数参数获取结果。
3 在其它C文件中奖结果存入全局变量,然后通过全局变量获取结果。
以上三种方式均可以实现目的,具体使用取决于C文件的编写方式。对于简单数据类型,且结果单一的情况,一般使用第一种。复杂数据类型,或者需要的结果可能为多个变量的情况,一般使用第二种。不推荐使用第三种,尤其在多线程操作情况下。
10...4@qq.com
2012-03-28 · TA获得超过245个赞
知道答主
回答量:119
采纳率:0%
帮助的人:56.5万
展开全部
你这样吧:首先把你要调用的函数和变量在你的MFC中用的地方声明(格式:extern + 返回类型+函数名+参数)这里的函数和变量(只能是全局的)在c文件中必须是独立的。对于是否能调用main函数,我没有见过。但是为什么要调用main函数呢?
你完全可以把各个函数独立的完成功能。
追问
比如我在调用其他函数时,比如声明extern void ADCS_Initialise(); 然后调用。
编译通过,linking不通过,显示error LNK2001: unresolved external symbol "void __cdecl ADCS_Initialise(void)" (?ADCS_Initialise@@YAXXZ)
这个是不是C和C++编译之后函数名称是有发生变化的原因,怎么解决呢?
追答
不是的 我说的那种形式是你的c函数在一个文件中可以那样用。
如果那个函数在其他文件中,且已经关闭程序了,就不能这样做了。
就要用到动态链接库。你好好看看这方面的知识,它不难的,耐心看,这个你掌握了,你会有一种自豪感
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云雅霜8J
2012-03-28 · TA获得超过129个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:129万
展开全部
在你要用c函数的mfc文件上加上
#include "你的.h"
加进去就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西瓜妈妈育儿助手
2012-03-28 · 新手妈妈育儿助手,24小时在线的育儿专家
西瓜妈妈育儿助手
采纳数:158 获赞数:549

向TA提问 私信TA
展开全部
要用extern需要的函数吧
更多追问追答
追问
比如我要调用其中的main函数。。就在mfc的关联函数里面extern void main()? 那如果我希望调用main函数里面的一个变量呢 也是extern int xxxx?头文件需要包含C文件的头文件?不需要包含C文件本身? 但在头文件里面很多变量和函数并没有声明,只有C的实现文件里面有声明和定义。。
追答
也不是这样的吧。。。。具体我也不太清楚,没见过要调用别的文件的mian函数的,extern主要是针对全局变量的,一般是在.c中定义了全局变量,在.h文件中用extern声明下,别的文件include了.h的头文件后就能用了,照你说的,你的文件并没有封装好啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知奇门晓遁甲
2012-03-29 · 超过23用户采纳过TA的回答
知道答主
回答量:193
采纳率:0%
帮助的人:76万
展开全部
联系我 我帮你改

做过多次的C 或C++程序转MFC的
更多追问追答
追问
是你么??上次加过你的?百度知道?
追答
还是有问题么?具体什么问题

告诉你了 不能有main函数

其他函数添加到类里

如果不牵扯硬件的话 我可以帮你调好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式