当前位置:首页 » 文件管理 » 头文件可以互相引用么
扩展阅读
怎样辨别真假斗首择日法 2025-05-14 01:52:17
考研真题可以用照片吗 2025-05-14 01:41:26

头文件可以互相引用么

发布时间: 2022-11-14 04:40:15

⑴ C/C++ 头文件引用问题【整理】

include <> 引用编译器的类库路径下的头文件

include “” 引用工程目录的相对路径的头文件

include 是编译指令,在编译时,编译器会将相对路径替换成绝对路径,因此,头文件绝对路径=搜索路径+相对路径。

Xcode Build Settings 下 Search Paths设置搜索路径

Header Search Paths:头文件搜索路径设置

(SRCROOT)宏和(PROJECT_DIR)宏都指xxx.xcodeproj所在的父目录

例如:引用工程testDemo/scr/test.h 头文件,

Header Search Paths中添加$(SRCROOT),引用为include “scr/test.h"

如果在Header Search Paths中添加(SRCROOT)/scr,那么头文件引用直接引用 include “test.h”

如果有多个.a文件格式就像这样

(inherited) "(SRCROOT)/xxxx" "(SRCROOT)/xx"

如果取的是相对是绝对路径那么工程移到别的地方就有可能导致运行出错。所以要改成相对路径

⑵ vc 中的头文件相互引用的错误!

你的问题不是头文件互相引用引起的,而是因为yy()这个函数被你定义在了头文件中,把yy放到随便哪个cpp里去,然后在公用的头文件里声明一下应该就可以了

编译没问题就先给分,运行有问题那是程序逻辑的事,需要调试

⑶ 两个头文件是相互调用的,此时应怎么办

两个头文件是不可以相互调用的。
举个例子,我有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就可以了

⑷ c语言自定义头文件在一个project中,在另一个project里可以引用吗

引用头文件是需要正确的路径,一般来说一个工程有一系列的include路径,在这些路径下的头文件都可以被正确找到。

而不同的工程include路径不相同,因此无法找到。

如果一定要使用,有几个选择,

1是直接拷贝一份过来,如果要拷贝的头文件还引用了其他的头文件,也要按照相对路径位置一并拷过来。如果需要拷贝的文件太多,说明两个工程联系紧密,考虑合并起来成为一个工程。

2是增加一个include路径,不同的编译环境有不同的操做,比如VS在这里


编辑VS的包含目录

编辑这个“包含目录”,让它增加一条,这样就可以引用到其他地方的头文件。

⑸ c语言在头文件中如何引用另一个头文件中的函数

1、首先建头文件是为了声明c文件中的函数,以及包括宏定义。建立头文件要有对应的c文件。

⑹ C语言头文件相互引用

包含conio.h的文件。该文件称位头文件。双引号表示从当前目录中找,如果找不到就到标准库中找。
#include
<conio.h>这个是从标准库中找。

⑺ C语言 头文件相互引用的问题

增加头文件c.h包含a.h,b.h 声明void testb();
在c.c内实现testb();
另外防止头文件被多次包含时重复定义 需要用
#ifndef
#define
````
#endif
来修饰头文件内容 以防止重复编译

⑻ c语言在头文件中如何引用另一个头文件中的函数

file1.c
头文件为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都可以

⑼ 在c语言中如何实现两个头文件相互调用

文件调用用宏定义啊
比如:
#include
"
路径
"
其实,平常用的
#include
<stdio.h>就是调用stdio.h文件
互相调用的话,
比如fi.h要调用f2.h,
那就在f1.h里的前面加上#include
<f2.h>就行了

⑽ 怎样解决C头文件相互引用的问题

#pragma once 或者 #ifndef ***_H #define ***_H 定义内容 #endif