我有3个文件,banca.c
,conticorrenti.c
和banca.h
。
banca.h
包含函数的声明。
banca.c
包含:
#include <stdio.h>
#include <pthread.h>
以及函数的实现。
conticorrenti.c
包含:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include "banca.h"
如何在我的Linux终端上运行此程序?
如果banca.h
未包含在其中,banca.h
如何阅读方法的实现?
答案 0 :(得分:1)
包含是一个预处理器文本处理步骤。它只是将标题的内容粘贴到#include
所在的C文件中。
它无法使代码可调用,这是一个链接时问题。
您需要将两个C文件链接在一起,例如:
$ gcc -o banca banca.c conticorrenti.c
首先编译两个C文件,然后将结果链接到一个可运行的程序中。
更新您的评论意味着您也使用了pthread,然后您通常必须链接:
$ gcc -o banca banca.c conticorrenti.c -lpthread
这里,-l
是编译器在链接时包含命名库的选项。