C언어로 프로그램을 짯는데 내용이 길어져서 한개의 파일을
1개의 헤더파일과 3개의 파일로 나누었습니다. 아래의 내용처럼
사용하는 함수들은 모두 헤더 파일에 선언해 주었고 main.c 내에서
선언된 전역변수는 a.c 나 b.c 에서 사용하기위해 처음 시작할 때
extern을 이용하여 선언해 주었습니다.
실행 결과에 있어서 문제는 없습니다.
1개의 헤더파일과 3개의 파일로 나누었습니다. 아래의 내용처럼
사용하는 함수들은 모두 헤더 파일에 선언해 주었고 main.c 내에서
선언된 전역변수는 a.c 나 b.c 에서 사용하기위해 처음 시작할 때
extern을 이용하여 선언해 주었습니다.
실행 결과에 있어서 문제는 없습니다.
그런데 문제는....
처리속도가 달라졌다는 것입니다.
제가 mcu 소프트웨어를 하고있어서 처리속도가 중요한 문제가 됩니다.
혹시 제가 모듈화를 잘못한것인지 ? 알고싶습니다.
extern 변수 선언도 첨으로 사용해 보았고 길어진 소스를 모듈화 해보기도
처음이어서 .... 해답을 찾지 못하여 이렇게 질문을 드립니다.
* Header.h *
#include<stdio.h>
#include<string.h>
#define MAX 10
void AA();
void BB();
* main.c *
#include "Header.h"
unsigned char i = 0;
unsigned char j = 0;
int main()
{
/* 처리내용 */
}
* a.c *
#include "Header.h"
external unsigned char i;
external unsigned char j;
void AA()
{
/* 처리내용 */
}
* b.c *
#include "Header.h"
external unsigned char i;
external unsigned char j;
void BB()
{
/* 처리내용 */
}
제가 보기엔, 모듈화에 의한 문제라기 보다 구현된 내용에서 문제가 생긴듯 합니다.
질문하신 내용만 봐서는 특별한 문제가 없는듯 하네요.
도움이 되었길 바라겠습니다.
> C언어로 프로그램을 짯는데 내용이 길어져서 한개의 파일을
>1개의 헤더파일과 3개의 파일로 나누었습니다. 아래의 내용처럼
>사용하는 함수들은 모두 헤더 파일에 선언해 주었고 main.c 내에서
>선언된 전역변수는 a.c 나 b.c 에서 사용하기위해 처음 시작할 때
>extern을 이용하여 선언해 주었습니다.
>실행 결과에 있어서 문제는 없습니다.
>
>그런데 문제는....
>처리속도가 달라졌다는 것입니다.
>제가 mcu 소프트웨어를 하고있어서 처리속도가 중요한 문제가 됩니다.
>혹시 제가 모듈화를 잘못한것인지 ? 알고싶습니다.
>extern 변수 선언도 첨으로 사용해 보았고 길어진 소스를 모듈화 해보기도
>처음이어서 .... 해답을 찾지 못하여 이렇게 질문을 드립니다.
>
>* Header.h *
>#include<stdio.h>
>#include<string.h>
>#define MAX 10
>void AA();
>void BB();
>
>* main.c *
>#include "Header.h"
>unsigned char i = 0;
>unsigned char j = 0;
>int main()
>{
> /* 처리내용 */
>}
>
>* a.c *
>#include "Header.h"
>external unsigned char i;
>external unsigned char j;
>void AA()
>{
> /* 처리내용 */
>}
>
>* b.c *
>#include "Header.h"
>external unsigned char i;
>external unsigned char j;
>void BB()
>{
> /* 처리내용 */
>}