社区
C语言
帖子详情
请问如何在c文件中调用c++文件中的函数?
sea33
2003-04-01 03:46:48
请问如何在c文件中调用c++文件中的函数?我知道有一个 extern "C" , 但是好像加上去也没什么用,编译时出现 undefined reference 的错误。
...全文
188
10
打赏
收藏
请问如何在c文件中调用c++文件中的函数?
请问如何在c文件中调用c++文件中的函数?我知道有一个 extern "C" , 但是好像加上去也没什么用,编译时出现 undefined reference 的错误。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sea33
2003-04-01
打赏
举报
回复
多谢xorong(末日风暴) !
谢谢大家!
sea33
2003-04-01
打赏
举报
回复
多谢ckacka(小红帽)
疯狂的魔法
2003-04-01
打赏
举报
回复
你用的是C编译器还是C++编译器?
c++文件是什么文件?是静态库文件还是动态库文件还是源代码?
如果用的是C编译器
如果是动态库文件的化,C可以调用
如果是静态库文件的化,C无法调用
如果所源代码,编译器都不认识的语法嘛
如果用的是C++编译器
哪里都可以调用啊
直接在C的函数里调用就好了
比如:
extern "C" void func();
void func()
{
CLASS instance;
instance.member_function();
}
ckacka
2003-04-01
打赏
举报
回复
补充一下,你的 c++ 文件里面的函数也应该有 PASCAL 的申明
ckacka
2003-04-01
打赏
举报
回复
首先,你在你的 .h 文件里面,把你的函数申明为 _stdcall , c++ 里面也是,然后先编译成 .obj ,再搭配上你的头文件,就可以了!
注意,你的头文件不应该包含任何多余的代码或者指令,只应该有函数的申明,比如:
extern "C" int PASCAL EXPORT openDirectIO(HWND hl);
(说明:PASCAL 和 _stdcall 在意义上等价)
Bandry
2003-04-01
打赏
举报
回复
既然是混合编程,为什么不把“它”定义为C函数了?这样的话C\C++文件不就都可以使用了吗?
sea33
2003-04-01
打赏
举报
回复
我的程序是c和c++混编的,这种情况下在c文件中怎样调用c++文件中的函数
mubaosen
2003-04-01
打赏
举报
回复
extern "C" 是在C++中调用C编译器编译的函数的,现在基本上没有人用C编译器调用C++写的函数。一般来说用C++编译器的库都是按照C++的规则(好象你也可以指定C规则),而C较C++也现的晚所以也不太可能在C中会对此做直接支持,我还没见过相关的资料。当然我所说的C编译器是纯C的编译器,而不是现在流行的C/C++编译器。
sea33
2003-04-01
打赏
举报
回复
一定要用dll吗?
fansses
2003-04-01
打赏
举报
回复
dll
C 和
C++
中
主
函数
调用
其他
文件
中
的
函数
,实现代码重用
C 和
C++
中
主
函数
调用
其他
文件
中
的
函数
,实现代码重用
android 与c的
调用
函数
,如何从C
文件
调用
CPP
文件
中
的
函数
,反之亦然在ANDROID NDK
中
?...
我无法从c
文件
中
调用
cpp
文件
中
的
函数
,也无法从ndk
中
的cpp
文件
中
调用
c
文件
中
的
函数
。如何从C
文件
调用
CPP
文件
中
的
函数
,反之亦然在ANDROID NDK
中
?我尝试使用extern“C”{}。粘贴代码我在这里试过以供参考。CFileCallingCpp.c:#include "CFileCallingCpp.h"//#include "custom_debug.h"#include "CppF...
在
C++
中
调用
C
文件
中
的
函数
有时候在
C++
工程
中
可能需要将某些
函数
按照C的风格来编译,在
函数
前加extern “C”,意思是告诉编译器,将该
函数
按照C语言规则来编译。 比如在创建好的
C++
test.cpp
文件
中
想要
调用
另一个C的
函数
,流程分为以下几个步骤。 1.将C
文件
生成lib 首先创建C的静态库
文件
2.在C
中
写
C++
即将需要的
函数
的 .c与 .h
文件
3.生成解决方案后可以在Debug
文件
夹看到.lib
文件
4.在
C++
文件
中
进行如下配置 5.利用extern"C"包含C的头
文件
…是回到当前目录的上
在.cpp
文件
中
调用
.c
文件
中
的
函数
问题描述: 提示:今日需要在
c++
项目
中
调用
GMSSL
中
的SM2的相关
函数
接口。在包含头
文件
,链接动态库 .cpp
中
调用
GMSSL(c语言库)的
函数
的代码: @Override #include <openssl/bn.h> #include <openssl/ec.h> #include <openssl/evp.h> #include <openssl/rand.h> #inc
C\
C++
调用
另一个源
文件
中
的
函数
C\
C++
调用
另一个源
文件
中
的
函数
回调
函数
法——利用
函数
指针 源
文件
‘main.c’ #include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; void run(); //*声明将要用到的
函数
(最重要的一步)* extern void (*step)(void); //先声明一个全局变量(
函数
指针) void mystep_cb(void) { printf(&amp;amp;quot;我要输出\n
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章