프로그래밍/C언어 TIP(20)
-
임베디드 관련 사이트들~
http://www.hackerschool.org/해커스쿨http://dev.naver.com/네이버 개발자센터http://www.jungol.co.kr/s 정보 올림피아드http://www.soenlab.com/SoenLab http://oj.kninfo.hs.kr/JudgeOnline/ http://211.228.163.31/더블릿http://www.devpia.com/데브피아http://www.ppomppu.co.kr/zboard/zboard.php?id=developer뽐뿌 개발자 포럼
2013.05.08 -
20130415/구조체의 사이즈
#include #pragma pack(1) // 구조체의 사이즈를 1바이트 단위로 최적화. struct smart // 구조체의 선언 : struct 이름 { // 중괄호 안에 구조체에 들어갈 자료형들을 선언한다 int a; char b; int c; short d; char e; int f; char g; short h; char i; }; //중괄호가 끝나면 세미콜론을 붙인다 #pragma pack(4) // 구조체의 사이즈를 4바이트 단위로 최적화 struct smart1 // 구조체의 선언 : struct 이름 { // 중괄호 안에 구조체에 들어갈 자료형들을 선언한다 int a; char b; int c; short d; char e; int f; char g; short h; char i; }..
2013.04.15 -
20130404/ 다차원 배열。
◎ 다차원 배열 배열은 1차원을 넘어 다차원 배열을 지원한다. 먼저, 예제를 출력해보자. 위의 소스는 2차원 배열을 다룬다.int array[3][4]는 두 개의 대괄호로 표시했다. 앞의 [3]은 '행', 뒤의 [4]는 '열' 이라 한다.2차원 배열을 개념적으로 보면 아래와 같다. array는 a로 표시한다. 배열 array의 값과 주소의 표시는 아래와 같다.. 다음 소스와 출력 값을 보면서 이해해 본다.
2013.04.04 -
20130403/Hexa_View만들기。(작성중)
흠...헥사 뷰~ 를 만들어서 어디에 사용할 것인지 아직은 자세히 알 수 없지만,수업이니까! 일단 만들어 보도록 한다.◎ Hexa_view만들기 1. 기본소스코드 만들기 먼저 source insight에 main.c, Hexa_view.c, Hexa_view.h 이렇게 파일을 세 개 만든다. main.c 소스를 코딩해 봅니다. 아래와 같은 결과가 나올 수 있도록..결과에 대한 소스 설명은 소스 코드 옆에! 아래는 결과에 대한 소스코드 입니다. #include int main()//지정한 파일의 헥사뷰를 보는 프로그램 { char array[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P' ,'Q','R','S','T','U','V'..
2013.04.04 -
201303/함수의 분리와 링크. 리눅스에서 make 사용
▣ 함수의 분리와 링크 지난번에 만들었던 함수를 이용하여 OBJ파일만을 이용하여 링크 하는 과정을 알아본다. 어제 hi()라는 함수를 생성하여 main()안에서 어떻게 사용하는지를 확인했다. 오늘은 분리 되어진 함수를 서로 합치는 방법에 대해서 알아본다. 원본 파일을 유지하기 위해 현재 위치에서 폴더 하나를 더 생성한다. 20110420test 폴더가 생성 되어진 모습을 볼 수 있다. 이 폴더 안에 어제 만든 0419.c파일을 복사해 넣어준다. 여기서 0419.c 파일을 cp명령어를 이용해 main.c로 하나 더 만들어 준다. 그리고 0419.c를 mv명령어를 통해 hi.c로 바꿔준다. 아래 그림을 참조 cp명령어는 기존의 파일을 원하는 이름으로 하나 더 복사하는 명령어이지만, mv명령어는 기존의 파일을..
2013.04.03 -
201303/ 포인터 주소 값의 연산. 함수의 원형. 함수의 정의
▣ 포인트 주소 값의 연산주소 영역에 따라 포인트 크기가 결정되고 주소 영역은 버스의 크기에 따라 결정된다. 그러므로 버스의 크기가 곧 포인트 크기가 되는 것이다. CPU와 Memory를 내부적으로 살펴보면, 위의 그림과 같이 레지스터와 메모리에 존재하는 관리자가 서로 연결 되어 있는 것을 알 수 있다.주소 10번지에 1byte 100을 넣어보자. 숫자를 바로 보내 지는게 아니라 전기적으로 변환하여 보내지게 된다.0은 0V, 1은 5V (CPU에서 Memory로 보내지는 전기적 신호)내부적으로 CPU와 Memory사이에서 이렇게 많은 일을 수행하게 되는 것이다. 전자쪽으로 들어가면 더욱 복잡한 일들은 하겠지만, 그냥 이런 일들이 일어난다는 것만 알고 있자. 깊이 들어가면 어지럽다. 다음 그림을 통해 주소..
2013.04.03