Câu hỏi này rất mơ hồ, tôi nghĩ bạn có nghĩa là "cách tách các chức năng trong các tệp .c
khác nhau và để IDE biên dịch mọi thứ cùng nhau". Nếu tôi sai (ví dụ: bạn có nghĩa là "cách sử dụng các hàm được xác định trong các tệp .c
từ chính IDE"), chỉ cần cho tôi biết trong các nhận xét và tôi sẽ rất vui khi cập nhật/xóa câu trả lời của tôi.
Nói chung, bạn nên xác định các chức năng trong hai riêng biệt .c
file (nói, A.c
và B.c
), và đưa nguyên mẫu của họ trong các tiêu đề tương ứng (A.h
, B.h
, nhớ include guards).
Bất cứ khi nào trong .c
tệp bạn cần sử dụng các chức năng được xác định trong một .c
khác, bạn sẽ #include
tiêu đề tương ứng; sau đó bạn sẽ có thể sử dụng các chức năng bình thường.
Tất cả các tệp .c
và .h
phải được thêm vào dự án của bạn; nếu IDE hỏi bạn có phải biên dịch hay không, bạn chỉ nên đánh dấu .c
để biên dịch.
nhanh Ví dụ:
Functions.h
#ifndef FUNCTIONS_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
/* ^^ these are the include guards */
/* Prototypes for the functions */
/* Sums two ints */
int Sum(int a, int b);
#endif
Functions.c
/* In general it's good to include also the header of the current .c,
to avoid repeating the prototypes */
#include "Functions.h"
int Sum(int a, int b)
{
return a+b;
}
Main.c
#include "stdio.h"
/* To use the functions defined in Functions.c I need to #include Functions.h */
#include "Functions.h"
int main(void)
{
int a, b;
printf("Insert two numbers: ");
if(scanf("%d %d", &a, &b)!=2)
{
fputs("Invalid input", stderr);
return 1;
}
printf("%d + %d = %d", a, b, Sum(a, b));
return 0;
}
Nguồn
2011-02-26 17:58:47
IDE của bạn là gì? – Simon
Tôi không thấy làm thế nào điều này có thể có thể được bất kỳ vaguer. Bạn đã thử bất cứ điều gì chưa? Bạn có biết ngôn ngữ C? Bạn có biết tiêu đề là gì không? –
Nếu bạn không nhận thức được điều này: c thường được biên dịch, trong khi nói về * "gọi [ing] tập tin để sử dụng chúng" * có một ngôn ngữ thông dịch cảm thấy nó. Luồng công việc cho các ngôn ngữ được biên dịch hơi khác so với các ngôn ngữ thông dịch (mặc dù nhiều IDE sẽ ẩn sự khác biệt với bạn). – dmckee