C++の関数をCから呼び出す

zoo.cpp

#include <iostream>

extern "C" {
  int add(int a, int b);
}

using namespace std;

int add(int a, int b) {
  cout << "add()" << endl;
  return a + b;
}

bar.c

#include <stdio.h>

int add(int a, int b);

int main() {
  printf("%d\n", add(1, 2));
}

ビルド/実行


~$ gcc bar.c zoo.cpp -lstdc++ -o bar
~$ ./bar
add()
3