[英]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.c
和list.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.