当前位置:  技术问答>linux和unix

在一个工程中同时使用c++和c.

    来源: 互联网  发布时间:2016-07-20

    本文导语:  假设现在又3个文件 1.h int a(); 1.cpp #include "1.h" int a() { return 0; } main.c int main() {  a(); return 0; } 如果这时我编译的话可以通过,但是链接时报错, undefined reference to `a'。不知道有没有那位知道是怎么回事的? ...

假设现在又3个文件
1.h
int a();
1.cpp
#include "1.h"
int a()
{
return 0;
}

main.c
int main()
{
 a();
return 0;
}

如果这时我编译的话可以通过,但是链接时报错, undefined reference to `a'。不知道有没有那位知道是怎么回事的?

|
1.h

#ifdef __cplusplus
extern "C" {
#endif
int a();


#ifdef __cplusplus
}
#endif

1.cpp
#include "1.h"
int a()
{
return 0;
}



main.c
int main()
{
a();
return 0;


注意使用 
extern "C" { }  

|
用GCC来编译,
C++的文件记得用extern "c"来修饰。

|
main.c不需要#include "1.h"  ?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 驱动是由硬件工程师写,还是软件工程师写啊
  • 请问Qt的工程文件,如何转成VC的工程文件??
  • JB7中,怎么把一个工程的子FORM及其相关重用到另一个工程中?
  • Android工程:引用另一个Android工程的方法详解
  • 在jbuilder中建立了一个工程,如何新添加一个*.java文件在这个工程中呀?
  • 学软件工程(专升本)是不是linux软件开发工程师的起步之路?
  • 我在一个Jbuilder工程里,写了很多的javabeans类,在另一个工程里,我想用它们,怎么配置??
  • 智能手机底层驱动工程师和光纤收发器网关开发工程师,哪个更有前途呢?
  • qt4导入qt3工程
  • 求教高手rose对java源程序逆向工程的问题!
  • 怎样做一个系统工程师
  • 请问unix/linux下Cb编程中,是否有工程的概念。
  • 如何编译工程,并使之能运行?
  • 社会工程学工具 Social-Engineering Toolkit
  • Java 反向工程软件 Minjava
  • LINUX工程师级别划分
  •  只有一点JAVA语言基础,但是想先看看关于软件工程方面的东西.可能吗?
  • 分布式工程配置zookeeper化 zkconfigutil
  • 难道JBuilder5的工程名不支持大写?
  • 关于jbuilder工程问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3