繁体   English   中英

CLion中的多个C源文件

[英]Multiple C Source Files in CLion

在 CLion 项目中,我有两个 C 语言源文件,“main.c”和“list.c”。

源文件“main.c”有这个:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

源文件“list.c”有这个:

#include <stdio.h>

int printFoo() {
    printf("I want Krabby Patties!\n");
    return 0;
}

现在如何从main() function 调用printFoo() 我知道我不能在 main.c 中执行include<list.c> ,因为这会导致多重定义错误。

您可以创建一个 header 文件“list.h”

#ifndef __LIST_H__
#define __LIST_H__ 

int printFoo();

#endif

然后将其包含在main.c中:

#include <stdio.h>
#include "list.h"

int main() {
    printf("Hello, World!\n");
    printFoo();
    return 0;
}

CLion 使用 CMake 来组织和构建项目。

CMakeLists.txt包含构建说明。

命令add_executable(program main.c list.c)使用文件main.clist.c创建可执行文件。 将所有源文件添加到其中。 您可以添加标题,但这不是必需的。

Header 文件包含函数定义和其他东西,实现的源文件,但你可以合并它们。


main.c

#include "list.h"

int main() {
    printFoo();
    return 0;
}

列表.h

#pragma once
int printFoo();

列表.c

#include "list.h"
#include <stdio.h>

int printFoo(){
    return printf("I want Krabby Patties!\n");
}

#pragma once告诉编译器包含一次 header 文件。 如果你有多个包含一个文件而没有#pragma once ,你会发现一个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM