Notice : 内容無保証。禁無断転載。リンク自由。

c_func.h

#ifndef _c_func_h_
#define _c_func_h_

// 提供者が作る、提供関数のプロトタイプ宣言
// ユーザの .C ファイルでインクルードされるので、
// C++ 専用の機能 (クラス etc.) はこの中では使ってはならない。

void hello(void) ;

#endif /* _c_func_h_ */

c_func.cpp

#include <stdio.h>

extern "C" {
  // .C でもインクルードされるファイルを .CPP でインクルードする時には、
  // このように extern "C" としてインクルードする。
#include <c_func.h>
}

// 提供者が作る、提供関数の実装ファイル

void hello(void){
    printf("Hello, World.\n") ;
}

c_cpp_3.c

// ユーザが作る .C ファイル

#include <c_func.h>  // 提供された関数のプロトタイプ宣言

int main(int argc, char* argv[])
{
    hello() ;   // 提供された関数の使用

    return 0 ;
}

戻る
トップページへ戻る