头文芦并件为file1.h
file2.c
头文件为file2.h
比如file2.c要调用file1.c里的汪和一个函数
首先file2.c里要包含file1.h头文件(file1.h里有file1.c的陪陵迹函数申明)
然后file2.c文件里要有file1.c里的外部函数申明,用extern关键字申明
然后就可以直接file2.c里面调用file1.c里的函数了
我在单片机里是这样弄的完全没问题,51,avr,pic都可以
比如说,在头文件header.h中定义如下:
void Print(const char * str)
在header.cpp中实现如下:
void Print(const char * str)
{
printf(str)
}
扩展资料:
头文件的内容除了函数原型和宏定义外,还可以有结构体定义,全局变量定义:
一个#include命令指定一个头文件;
文件1包含文件2,文件2用到文件3,则文件3的包含命令#include应放在文件1的头部第一行;
包含可以嵌套;
<文件名则绝察>称为标准方孙茄式,系统到头文件目录查找文件,"文件名"则先在当前目录查找,而后到头文件目录查找;
被包含文件中的静态宏饥全局变量不用在包含文件中声明。
参考资料来源:百度百科-头文件
两个头文件是不可以相互调用的。举个例型裂子,我有4个文件,a.h,a.cpp,b.h,b.cpp
你如果在a.h里面include"b.h",那么在b.h里面就不能include"a.h",会出错.不过你可以在b.cpp里面"a.h",
反岩芦过来也是一样的
关键粗租带是你说的互相调用这个词。
我们的理解是:
你在a.h里面写:
include "b.h"
然后又在b.h里面写:
include "a.h"
这种写法是错误的!
如果只是为了保证头文件只可能被include一次的话,你要这样:
#ifndef A_H
#define A_H
...//头文件内容
#endif
或者如果是在vs里面的话就直接在开头写:
#pragma once就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)