lst.h的内容为:
#ifndef ADD_HEADER
#define ADD_HEADER
int add(int x, int y);
#endif
lst.c的内容为:(注意是.c文件)
#include "lst.h"
int add(int x, int y)
{
return x + y;
}
main.cpp的内容为:
#include <iostream>
//extern "C"
//{
#include "lst.h"
//}
using namespace std;
int main()
{
int a = 1;
int b = 2;
int c = add(1, 2);
cout << c << endl;
return 0;
}
结果,程序的编译有错,如果把main.cpp中的内容改为:
#include <iostream>
extern "C"
{
#include "lst.h"
}
using namespace std;
int main()
{
int a = 1;
int b = 2;
int c = add(1, 2);
cout << c << endl;
return 0;
}
那么,程序正确。