少妇AV一区二区三区无|久久AV电影一区三|日本一级片黄色毛片|亚洲久久成人av在线久操|黄色视频在线免费看呀一区二区|综合精品视频精品久久久浪朝|亚洲午夜成人资源|欧美黄色一级片黑寡妇|内射无毛少妇特写|无码农村夜晚偷拍啪啪

C中如何調(diào)用C++函數(shù)?

時(shí)間:2008-10-02 03:44:00   來源:無憂考網(wǎng)     [字體: ]
在C中如何調(diào)用C++函數(shù)的問題,將 C++ 函數(shù)聲明為``extern "C"''(在你的 C++ 代碼里做這個聲明),然后調(diào)用它(在你的 C 或者 C++ 代碼里調(diào)用)。例如:
  // C++ code:
  extern "C" void f(int);
  void f(int i)
  {
    // ...
  }
  然后,你可以這樣使用 f():
  /* C code: */
  void f(int);
  void cc(int i)
  {
    f(i);
   /* ... */
    }
  當(dāng)然,這招只適用于非成員函數(shù)。如果你想要在 C 里調(diào)用成員函數(shù)(包括虛函數(shù)),則需要提供一個簡單的包裝(wrapper)。例如:
  // C++ code:
  class C
  {
    // ...
    virtual double f(int);
  };
  extern "C" double call_C_f(C* p, int i) // wrapper function
  {
    return p->f(i);
  }