gpt4 book ai didi

c - 如何编译c代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:34 24 4
gpt4 key购买 nike

这是一个示例 cstat.h相关的代码. bits/stat.h提到了"Never include <bits/stat.h> directly; use <sys/stat.h> instead." .然而struct statbits/stat.h 中定义, 和 int __xstat (...)sys/stat.h 中定义.该代码不会与任何一个 header 一起编译,甚至不会与它们一起编译。如何在仅更改 #include ... 的情况下编译它不改变任何一个功能?

#include <stdio.h>

#include <bits/stat.h>
#include <sys/stat.h>


int stat_1(char *filename, struct stat *stat_buf)
{
return __xstat(1, filename, stat_buf); // extern int __xstat (...) defined in sys/stat.h
}

char * test(const char *filename) {
char *result;
stat stat_buf; // struct stat defined in bits/stat.h

printf("DO something here");

if ( stat_1(filename, &sbuf) == -1 ) {
printf("DO something here");
}

return result;
}


int main() {
const char *fileName = "file.txt";
test(fileName);

return 0;
}

最佳答案

您应该调用 stat 参见 https://linux.die.net/man/2/stat .不是 __xstat。

与以 __ 开头的名称进行交互几乎总是表明您做错了什么。它们在引擎盖下实现的东西

关于c - 如何编译c代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50848279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com