个人工具
登录
查看“Mix C Cpp”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Mix C Cpp”的源代码
来自Ubuntu中文
←
Mix C Cpp
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==C调用C++函数== 要使 C 程序能够调用 C++ 中函数的话,C++ 提供一个符合 C 调用惯例的函数是必须的。下面的例子演示了在 C++ 内创建 C 函数的语法: <source lang="c"> /* cppsayhello.cpp */ #include <iostream> extern "C" void cppsayhello(char *str); void cppsayhello(char *str) { std::cout << str << "\n"; } </source> 尽管函数 cppsayhello() 通过 extern "C" 声明为 C 函数,事实上它是 C++ 源代码的一部分,这意味着函数体内是真正的 C++ 代码。在函数内你可以自由地创建和析构对象。如果你要在 cppsayhello() 内调用 C 函数的话,将其声明为 extern "C" 是必须的。否则,编译器会将作为一个 C++ 函数并相应地更改函数名。 下面是调用 C++ 函数 cppsayhello() 的 C 程序: <source lang="c"> /* c2cpp.c */ int main(int argc,char *argv[]) { cppsayhello("Hello from C to C++"); return(0); } </source> 下面的命令编译并链接生成c2cpp: $ g++ -c cppsayhello.cpp -o cppsayhello.o $ gcc -c c2cpp.c -o c2cpp.o $ gcc cppsayhello.o c2cpp.o -lstdc++ -o c2cpp
返回至
Mix C Cpp
。