COCOA 调用c库/c++库 (cocoa call to c library and c++ library)

COCOA 调用c库/c++库 (cocoa call to c library and c++ library)
2011年06月02日
  环境xccode 3.1.4 (一) cocoa 调用 c库: cocoa 可以直接调用c的,所以c库为bsd c库,头文件,c文件如下:
  /*
  * test.h
  * TestLib1
  *
  * Created by chen kingli on 6/2/11.
  * Copyright 2011 kingli. All rights reserved.
  *
  */
  int Add(int a, int b);
  
  /*
  * test.c
  * TestLib1
  *
  * Created by chen kingli on 6/2/11.
  * Copyright 2011 kingli. All rights reserved.
  *
  */
  #include "test.h"
  int Add(int a, int b)
  {
  //return a + b;
  return Add1(a, b);
  }
  (二)cocoa 调用c++库,方法有两种:(1)改 cocoa *.m 文件为*.mm 文件 即可;(2)将c++的函链接数符号编译为c方式的链接符号,代码如下:
  /*
  * testlib.h
  * TestLib1
  *
  * Created by chen kingli on 6/2/11.
  * Copyright 2011 kingli. All rights reserved.
  *
  */
  #ifdef __cpuluspulus
  extern "C"
  {
  #endif
  int Add1(int a, int b);
  #ifdef __cpuluspulus
  }
  #endif
  //
  /*
  * testlib.cpp
  * TestLib1
  *
  * Created by chen kingli on 6/2/11.
  * Copyright 2011 kingli. All rights reserved.
  *
  */
  //#include "test.h"
  #define __cpuluspulus // 在bsd c库工程中,没有这个东西的定义,所以要在这加上
  #include "testlib.h"
  #ifdef __cpuluspulus
  extern "C"
  {
  #endif
  int Add1(int a, int b)
  {
  return a + b;
  }
  #ifdef __cpuluspulus
  }
  #endif
  总结:上面的两个文件可以在同一个工程中编译,可以直接在coca中调用,也可以在c++工程中调用,调用方式都是像调用c库那样。
  c++ 工程需要:
  extern "C"
  {
  #include "test.h"
  #include "testlib.h"
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值