linux系统中的头文件#include &ls;sys⁄stat.h>?

linux系统中的头文件#include &ls;sys⁄stat.h>?,第1张

调用 stat(),fstat(), lstat(), 等函数时,需要包含 #include <sys/stat.h>头文件,它包含了要用到一些数据类型,结构类型。例如:

dev_t st_dev ID of device containing file

ino_t st_ino file serial number

mode_tst_modemode of file (see below)

nlink_t st_nlink number of links to the file

uid_t st_uid user ID of file

gid_t st_gid group ID of file

dev_t st_rdevdevice ID (if file is character or block special)

off_t st_sizefile size in bytes (if file is a regular file)

time_tst_atime time of last access

time_tst_mtime time of last data modification

time_tst_ctime time of last status change

用法:包含头文件:

#include <sys/types.h>

#include <sys/stat.h>

程序里,需要时可调用下列函数,下面是函数原型

intchmod(const char *, mode_t)

intfchmod(int, mode_t)

intfstat(int, struct stat *)

intlstat(const char *, struct stat *)

intmkdir(const char *, mode_t)

intmkfifo(const char *, mode_t)

intmknod(const char *, mode_t, dev_t)

intstat(const char *, struct stat *)

int main(){

具体的调用语句和程序可写在这里

}

首先,确定你的头文件都用宏隔开了,防止了重复定义。例如,在file.h 中的开头就是

#ifndef __FILE__HEAD___

#define __FILE__HEAD___

//头文件中的内容

#endif //__FILE__HEAD___

之后,

file.h中用到了list.h ,所以file.h中#include "list.h"//假设头文件都在同一目录下

list.h中用到了preapre.h 所以list.h中#include "prepare.h"

prepare.h中用到了node.h 所以prepare.h中#include "node.h"

在某些情况下,由于代码组织等的问题,还是会出现编译问题,这个就是代码组织技巧的问题了,要根据具体代码具体判断了。

另外,准确的说头文件只是在编译的第一步,预处理的时候使用了,真正被“编”的应该是源文件,这个是编译原理方面的问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9012271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存