Tag: 目录结构

为什么将标题放在单独的目录中?

我知道在C / C ++项目中,将头文件放在诸如include和实现之类的目录中(例如src是很常见的。 我一直在玩弄不同的项目结构,我想知道是否有任何客观原因或仅仅是惯例?

C – 开始一个大项目。 文件/目录结构和名称。 需要好的例子

启动一个新的大型C多平台项目,应遵循哪些规则以避免以后遇到困难? 例如,作为一个新的开发人员,我可能很难在Linux内核源代码中自我导航 – 这是一个很好的例子,具有高度可演化但难以步入的软件结构,具有不完整的目录结构(例如声音目录和拱门 )相同的目录级别)。 作为项目架构师,我该怎么做以避免以后的陷阱? 当然,我需要非常直观和自我一致的C语言和文件命名约定。 但是什么是好的风格,什么不是? 我应该只有一个目录还是数十个目录? 我应该将所有头文件放在一个公共包含目录中吗? 你能不能给我一个很好的例子? (任何开源C项目)

使用stat()函数测试DIRENT是目录还是文件的正确方法是什么?

我在使用’if(S_IFDIR(stbuf.st_mode))’行时遇到了一些麻烦。 这是测试目录递归的正确方法吗? 此时的函数似乎正确地执行1或2个循环,然后失败并且分段错误。 我尝试过以下内容,可能更多的是条件。 S_ISDIR(st_mode) ((st_mode & ST_IFMT) == S_IFDIR) S_IFDIR(stbuf.st_mode) 我已经包含了整个function,因为我担心问题可能在其他地方。 void getFolderContents(char *source, int temp){ struct stat stbuf; int isDir; dirPnt = opendir(source); if(dirPnt != NULL){ while(entry = readdir(dirPnt)){ char *c = entry->d_name; if(strcmp(entry->d_name, cwd) == 0 || strcmp(entry->d_name, parent) == 0){ } else{ stat(entry->d_name, &stbuf); printf(“%i %i “, S_IFMT, stbuf.st_mode); if(S_IFDIR(stbuf.st_mode)){ //Test […]