1 .h 的在编译中的作用
一般在一个应用开发体系中,功能的真正逻辑实现是以硬件层为基础,在驱动程序、功能层程序以及用户的应用程序中完成的。头文件的主要作用在于多个代码文件全局变量(函数)的重用、防止重定义的冲突,对各个被调用函数给出一个描述,其本身不需要包含程序的逻辑实现代码,它只起描述性作用,用户程序只需要按照头文件中的接口声明来调用相关函数或变量,链接器会从库中寻找相应的实际定义代码
2 混编常见错误
Error 5 error LNK2001: unresolved external symbol "void __cdecl AES_128(unsigned char *,unsigned char *,unsigned char *)" (?AES_128@@YAXPAE00@Z) aes_128_test.obj
我的项目除了主函数文件是.cpp,其他均是.c/.h. 在.h中添加如下代码即可:
1 #ifdef __cplusplus
2 extern "C" {
3 #endif
4
5 /*...*/
6
7 #ifdef __cplusplus
8 }
9 #endif