오류내용:

a value of type void cannot be assigned to an entity of type void(*)()

함수 작성:

int Serial_CallBack()

{

    printf("Serial CallBack\n");

    return 0;

}


void Serial_CallBack()

{

    printf("Serial CallBack\n");

}

오류가 난 코드 ↓

int (*callback_func)();

callback_func = Serial_CallBack;


void (*callback_func)();

callback_func = Serial_CallBack();

빨간색 괄호 부분이 오류가 난 직접적인 원인이다. 함수 이름만 전달해야 하는데 실수를 했다.


오류가 나지 않은 코드 

void (*callback_func)(); 

callback_func = Serial_CallBack;


void (*callback_func)() = Serial_CallBack;

위의 둘 중에 어떤 코드를 사용해도 오류는 없다.

'언어 > C' 카테고리의 다른 글

배열의 문자열 초기값과 포인터의 문자열 초기값의 차이  (0) 2016.10.13
getc() 함수를 사용했을 때의 오류  (0) 2016.09.28
전처리문  (0) 2016.05.02
signed와 unsigned  (0) 2016.05.02
typedef  (0) 2016.05.02
Posted by 知彼知己百戰不殆
,

http://forums.fedoraforum.org/showthread.php?t=217019

'OS > Linux' 카테고리의 다른 글

참고 사이트들  (0) 2016.10.13
Vim 에디터 syntax highlighting 설정하는 법  (0) 2016.09.27
grep 사용법  (0) 2016.09.02
CentOS 5.1 ifconfig command  (0) 2016.06.16
CentOS 5.1 gcc 설치법  (0) 2016.06.16
Posted by 知彼知己百戰不殆
,

상대적으로 하버드 구조에 비해 가격이 싸다, => 복잡도가 낮다

프로그램과 데이터의 저장 공간이 같아서 동시 접근이 불가능하다. (Code 영역에 접근 중이라면 data영역에 접근 불가)

=일과 기억공간의 동시 접근 불가능, Code 영역에 접근 중이라면 data영역에 접근 불가)


상대적으로 폰 노이만 구조에 비해 가격이 비싸다 => 복잡도가 높다

프로그램과 데이터의 저장 공간이 달라서 동시 접근이 가능하다. => 일처리 효율이 좋아진다

=값의 저장과 일 가져오는 것이 동시에 가능하므로 처리 효율이 좋아진다.


Code영역: 일 시키는 명령들의 공간

CPU: 일처리 하는 놈 Central Processing(일처리) Unit

Data, BSS, Heap, Stack: 기억(저장) 공간


'언어 > 큐브인턴(Embedded)' 카테고리의 다른 글

LED on/off  (0) 2016.10.28
printf 함수 리턴  (0) 2016.09.30
MCU, MIPS  (0) 2016.09.04
Transistor Transistor Logic = TTL  (0) 2016.09.04
I/O mapped I/O, memory mapped I/O  (0) 2016.09.04
Posted by 知彼知己百戰不殆
,