1. 程式人生 > >C++呼叫另一個C/C++的方法

C++呼叫另一個C/C++的方法

main.cpp

#include "point.c"
int main() {
 getPoint(10);
}

point.h

void getPoint(int a);

point.c

#include <stdio.h>
#include "point.h"
void getPoint(int a) {
    int *pa = &a;
    printf("pa===1===%d", pa);
    *pa = 6;
    printf("pa===2===%d", pa);
}

注意:
1.如果point.c改為cpp檔案 將會報錯:multiple definition of

,正確的寫法是抽取出point.h 在main.cpp中#include “point.h”,而在point.c中不引入#include “point.h”,只實現方法即可。

2.注意point.c中當然也可以不引入#include “point.h” ,因為getPoint已經被實現了,main中直接#include “point.c”。

3.main.cpp和point.c中都引入point.h,但是main.cpp不#include “point.c”會報:undefined reference to `getPoint(int)’

4.point.c中 #include “point.h” 引號換成<>將報錯“ fatal error: point.h: No such file or directory”

5.值得探討的是 如果point是以c檔案格式引入的話,不需要提取poin.h檔案也不會報multiple definition of的錯誤。

6.與 1 截然不同 當point為c檔案的時候,我們應該在main中#include “point.h”和#include “point.c” 然後在point.c實現方法即可。