2

.c および .cpp ファイルからインクルードしたいヘッダーがあります。

だから私は名前マングリングとextern "C"について知っているので...

#ifdef __cplusplus
extern "C"
{
    int isPrime(int64_t p);
}
#endif

しかし、これを .c ファイルに含めると、関数が表示されないため、#ifdef __cplusplus

だから私は2つのコピーを作成することになります:

 #ifdef __cplusplus
    extern "C"
    {
        int isPrime(int64_t p);
    }
 #else
     int isPrime(int64_t p);
 #endif

これを行うためのより良い方法はありますか...私はprototypes.hと呼ばれる別のヘッダーを作成し、それらの2つの場所にそれを含めることを考えました...しかし、私が欠けている簡単なものはありますか?

4

3 に答える 3