링크 ux 링크 컴 파일 상세 설명
테스트 코드:
m.c :
#include"t.c"
int main()
{
test();
return 0;
}
컴 파일:
gcc m.c -o m -Wall
In file included from m.c:1:0:t.c:함수'test'에서:t.c:3:2:경고:암시 적 성명 함수'putchar'[-implicit-function-declaration]컴 파일 이 통 과 했 습 니 다.하나의 경고 만 있 고 실행 가능 한 파일 m 를 생 성 했 습 니 다.정상적으로 실행 되 고 빈 칸 을 출력 합 니 다.t.c 파일 수정:
#include<stdio.h>
void test()
{
printf("test
");
}
컴 파일 후 실행출력: test
이 를 통 해 알 수 있 듯 이.c 파일 을 포함 하 는 것 은 프로그램 에 아무런 영향 을 주지 않 고 오히려.h 파일 을 포함 하 는 것 보다 직접적 으로 편리 하 다.여 기 는 주로 대형 프로젝트 에서 각 파일 의 직접적인 연락 을 고려한다.예 를 들 어 A.c 파일 에 M.c 파일 이 포함 되 어 있 고 B.c 파일 에 B.c 파일 이 포함 되 어 있 으 면 컴 파일 할 때 오류 가 발생 하고 함수 이름 이 다시 정의 된다.\#include<>와\#include"의 차이 점:
괄호 로 포 함 된 헤더 파일 에 대해 gcc 는 먼저-I 옵션 이 지정 한 디 렉 터 리 를 찾 은 다음 시스템 의 헤더 파일 디 렉 터 리 를 찾 습 니 다(보통/usr/include 이 고 제 시스템 에는/usr/lib/gcc/i486-linux-gnu/4.3.2/include 도 포함 되 어 있 습 니 다).따옴표 로 포 함 된 헤더 파일 에 대해 gcc 는 먼저 헤더 파일 을 포함 하 는 c 파일 이 있 는 디 렉 터 리 를 찾 은 다음-I 옵션 이 지정 한 디 렉 터 리 를 찾 고 마지막 으로 시스템 의 헤더 파일 디 렉 터 리 를 찾 습 니 다. 정적 라 이브 러 리
/* stack.c */
char stack[512];
int top = -1;
/* push.c */
extern char stack[512];
extern int top;
void push(char c)
{
stack[++top] = c;
}
/* pop.c */
extern char stack[512];
extern int top;
char pop(void)
{
return stack[top--];
}
/* is_empty.c */
extern int top;
int is_empty(void)
{
return top == -1;
}
/* stack.h */
#ifndef STACK_H
#define STACK_H
extern void push(char);
extern char pop(void);
extern int is_empty(void);
#endif
/* main.c */
#include <stdio.h>
#include "stack.h"
int main(void)
{
push('a');
char c = pop();
printf("%c
",c);
return 0;
}
위의 5 개의.c 파일 과.h 파일 을 같은 디 렉 터 리 에 두 고 현재 디 렉 터 리 아래 에 Makefile 파일 을 새로 만 듭 니 다.Makefile 을 사용 하면 컴 파일 입 니 다.
main:libstack.a main.o
gcc -o main main.o -L. -lstack
libstack.a: stack.o push.o pop.o is_empty.o
ar rs libstack.a stack.o push.o pop.o is_empty.o
stack.o:
gcc -o stack.o -c stack.c
push.o
gcc -o push.o -c push.c
pop.o:
gcc -o pop.o -c pop.c
is_empty:
gcc -o is_empty.o -c is_empty.c
main.o:
gcc -o main.o -c main.c
컴 파일 후 실행./main 표시:a역 컴 파일 명령:역 컴 파일 후 프로그램 보기
objdump -d main
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.