본문 바로가기

분류 전체보기42

C언어 변수의 정의와 종류 알아보기 C언어의 전반적인 개념을 확인해봤으니 이번에는 변수에 대해서 알아봅시다. 프로그램에서 사용되는 기본적인 자료는 변수와 상수가 대표적입니다. 상수는 프로그램에서 값이 고정되어있고 변수는 이름 그대로 값이 변할 수 있습니다. 이 둘은 데이터 타입 (data type), 즉 자료형을 가집니다. 그중 가장 기본을 설명할 겁니다. 변수란 무엇인가? 일단 다들 타자를 입력해서 정수 값을 출력하는 형태로 일을 할 테니 이걸 디폴트로 잡읍시다. 프로그램은 키보드로부터 정수 값이 입력될 때 매번 다를 수 있기에 하나의 공간을 할당하여 특정 순간의 정수 값을 할당된 구역에 저장하는 것으로 처리합니다. 따라서, 새로운 입력이 있으면 정해진 공간의 값은 이전의 입력된 값에서 최근순으로 경신됩니다. 하지만 문제는 기억 공간을 .. 2020. 8. 13.
C 언어의 고유한 10가지 특징 C 언어를 처음 접한 때는 꽤 오래됐습니다. 정신없이 살다보니 내가 이런걸 했었지라는 어렴풋한 흔적만 남은게 아쉽기만합니다. 그래서 기초를 다질 겸, 어딘가 표류하고 있는 입문자에게 도움이 될 겸 필요한 개념들을 하나씩 정리해보려고 합니다. C 언어는 고유한 특징이 있으며 그 중 대표적인 10가지는 기본이므로 우선 한번 머리에 각인되면 전체적인 그림도 파악하기 쉬우니 이해하고 넘어가길 바랍니다. 첫번째, C 프로그램은 함수로 구성됨 프로그램은 main(), sum() 아니면 sub() 함수로 구성되며 모든 함수는 반드시 { 로 시작해서 }로 종료됩니다. 각각의 함수는 특정한 기능을 수행하는 프로그램이고요. 가령 아래를 보면 main() 함수는 주 프로그램이고 sum() 함수는 주어진 정수값들을 더하는 기.. 2020. 8. 7.
임베디드 소프트웨어 디버깅 장비4 - 소프트웨어로만 된 모니터 & 요약정리 [소프트웨어로만 된 모니터] 널리 사용되는 디버깅 툴을 또 소개합니다. 바로 모니터입니다. 모니터는 인 서킷 에뮬레이터와 비슷한 인터페이스를 제공하면서 소프트웨어를 실제로 타깃 마이크로프로세서에서 돌리 해줍니다. 그러나 모니터들은 서로 매우 다르기 때문에, 가지고 있는 모니터가 어떤 것인지를 주의 깊게 조사해야 합니다. 일반적인 모니터가 동작하는 방법 중 하나를 소개하면 다음과 같습니다. - 모니터의 한 부분은 타깃 시스템의 ROM에 상주하면서, 시리얼 포트나 네트워크를 통해 소프트웨어를 받고, RAM에 그것을 올리고, 실행시키는 것을 아는 작은 프로그램입니다. 종종 이런 프로그램은 브레이크 포인트를 설정할 수 있고, 메모리와 레지스터의 값을 조사하고 설정할 수 있으며, 응용 프로그램 디버거의 많은 기능.. 2020. 7. 6.
임베디드 소프트웨어 디버깅 장비3 - 인 서킷 에뮬레이터 새로운 장비인 인 서킷 에뮬레이터를 설명하기에 앞서서 지난번까지 알아봤던 로직 어날라이저에 대한 내용을 조금 더 살펴보고 지나가겠습니다. 스테이트 모드의 유용성과 전체적인 단점에 대한 내용입니다. 로직 어날라이저의 스테이트 모드는 소프트웨어 엔지니어에게 유용한데요, 어떤 부분에 있어서 느낄 수 있는지 봅시다. - 만약 메모리가 존재하지 않는 주소나, bad_assertion 함수에 있는 주소처럼, 마이크로프로세서가 가져오지 말아야 할 곳으로부터 명령어를 가져오면 트리거가 걸리도록 로직 어날라이저를 설정할 수 있습니다. 그러고 나서, 뒤로 가면서 어디에서 문제가 발생했는지를 조사할 수 있습니다. - 마이크로프로세서가 RAM의 특정한 장소에 유효하지 않은 값을 쓸 때, 트리거가 걸리도록 로직 어날라이저를 설.. 2020. 7. 3.