主函数中调用外部文件定义的函数,两种方法:
第一种:
htest.cpp:
#include "stdafx.h"
#include "stdio.h"
extern void b(void);
extern void c(void);
int main(int argc, char* argv[])
{
printf("Welcome to main.\n");
b();
c();
return 0;
}
a.cpp:
#include "stdio.h"
void b(void)
{
printf("b() in a.cpp come here for your calling.\n");
}
void c(void)
{
printf("c() in a.cpp come here for your calling.\n");
}
第二种:
htest.cpp:
#include "stdafx.h"
#include "stdio.h"
#include "a.h"
int main(int argc, char* argv[])
{
printf("Welcome to main.\n");
b();
c();
return 0;
}
a.h:
#ifndef __a_h__
#define __a_h__
void b(void);
void c(void);
#endif
a.cpp:
#include "stdio.h"
//#include "a.h" //此语句可有可无
void b(void)
{
printf("b() in a.cpp come here for your calling.\n");
}
void c(void)
{
printf("c() in a.cpp come here for your calling.\n");
}
在第一种方法中,外部函数所在源文件扩展名.cpp如果改成.c则会在编译链接时出现错误:
fatal error LNK1120: 2 unresolved externals