有一個專案包含 main.c 和 shareC.c 和 shareC.h
main.c 需要用到 funInC()
可以在main.c內開頭加入
#include "shareC.h"
或
extern int funInC();
這兩個方式都可以compile過
// file: shareC.h
extern int dataInC;
// 避免在.cpp中為實現同名異式(overload),會更改函式名稱。
// 比較好的寫法是加上extern。這可以明確讓compiler或閱讀程式的人清楚知道,這個函式是在另外一個程式中。如: extern int funInC();
extern "C" {
void funInC();
int funInC1(int x);
};
// file: shareC.C
int dataInC = 44;
int funInC()
{
return dataInC;
}
int funInC1(int x)
{
return (x*x+3);
}
//=============================================
// file: shareCPP.h
extern float dataInCPP;
//不加extern亦可,compiler在該程式中找不到函式內容,會認定這是個外部函式。
extern float funInCPP(float x);
// file: shareCPP.cpp
float dataInCPP = 88;
float funInCPP(float x)
{
if ( x<0 )
return (-x);
else
return (x);
}
沒有留言:
張貼留言