본문 바로가기
반응형

2016/088

2016-08-31_조재찬_스터디일지_C언어-파일의 분할과 헤더파일의 디자인 파일의 분할과 헤더파일 디자인 외부에 선언 및 정의되었다고 알려주는 extern extern 선언을 생략해도 되지만, 다른 파일에 선언 및 정의되었음을 알리기위해 extern을 쓴다. 둘 이상의 파일을 컴파일하는 방법 (프로젝트에 여러 파일을 추가해 컴파일) 기존에 존재하는 파일은 Existing Item... 새로 만드려면 New Item... 전역변수의 static 선언 static int num=0;// 외부 소스파일에서 접근 불가능한 전역변수 void SimpleFunc(void) { .... } 함수의 static 선언 static void MinCnt(void) { cnt--; } 외부 소스파일에서의 접근(호출)을 허용하지않기 위한 선언 즉 접근범위를 파일 내부로 제한한다. 헤더파일의 디자인과.. 2016. 8. 31.
2016-08-30_조재찬_스터디일지_C언어-선행처리기와 매크로 (2) 조건부 컴파일(Conditional Compilation)을 위한 매크로 #if... #endif : 참이라면 조건부 코드 삽입을 위한 지시자 참이면 #if~#endif 까지 컴파일 대상에 포함 거짓이면 선행처리기가 #if~#endif 까지의 코드를 지움 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include #define ADD 1 // 0이 아닌 값은 참 #define MIN 0 // 0은 거짓 int main(void) { int num1 = 20; int num2 = 10; #if ADD // ADD가 '참'이라면 printf("%d + %d = %d \n", num1, num2, num1+num2); #endif #if MIN // MIN이 '참'이.. 2016. 8. 30.
2016-08-29_조재찬_스터디일지_C언어-선행처리기와 매크로 선행처리기(Preprocessor) 선행처리 거친 소스파일은 프로그래머가 인지할 수 있는 형태이다. 선행처리기의 일 - 단순 치환 소스1 2 3 4 5 6 #definePI3.14// 선행처리기에게 명령하는 문장은 #으로 시작하며 한줄마다 처리된다. (끝에 semi colon붙이지 않음) int main() { num = PI * 3.5; } 선행처리 후 소스 #definePI3.14 //지워짐 1 2 3 4 int main(void) { num = 3.14 * 3.5; } Object-like macro #definePI3.14 directive / macro / macro's body PI를 상수 3.14로 정의 1 2 3 4 5 6 7 8 9 10 11 12 13 #include #define NA.. 2016. 8. 30.
2016-08-28_조재찬_스터디일지_C언어-파일위치 지시자 / 메모리 관리와 동적할당 파일 위치 지시자 FILE 구조체의 멤버 중 하나 Read/Write에 대한 위치 정보를 갖고 있다. (어디까지 읽었는지 또는 어디부터 이어서 쓸건지) 파일 입출력 함수가 호출될때 파일 위치 지시자의 참조 위치가 달라짐 파일 위치 지시자의 이동 fseek #include int fseek(FILE * stream, long offset, int wherefrom); // 성공시 0, 실패시 0이 아닌 값 반환 어디서부터(wherefrom) 몇칸 오른쪽(+) 또는 왼쪽(-)으로 이동할건지에 대한 인자(offset)를 전달받음 SEEK_SET - 파일 맨앞에서부터 이동시작 SEEK_CUR - current : 현재 위치에서부터 이동시작 SEEK_END - 파일 맨끝에서부터 이동시작 주의 할점은 END는 EO.. 2016. 8. 29.
2016-08-25_조재찬_스터디일지_C언어-파일 입출력 입력 스트림과 출력 스트림의 형성을 요청하는 fopen 함수 #include FILE * fopen(const char * filename, const char * mode); fopen함수를 통해 FILE 구조체 변수가 생성, 파일과의 스트림 형성 FILE 구조체 변수에 파일 정보가 담김 (파일 데이터가 담기는 것이 아님) FILE * fp = fopen("data.txt", "wt"); // wt(write in text mode)모드로 파일 data.txt와 출력스트림을 형성FILE * fp = fopen("C:\\Project\\data.txt", "wt"); // 경로 지정시 \ 자체를 표현하려면 \\ 두개 써야함 FILE * fp = fopen("data.txt", "rt"); // rt모드는.. 2016. 8. 25.
2016-08-24_조재찬_스터디일지_C언어-구조체 /*중첩된 구조체의 정의Point 구조체(x, y pos), Circle 구조체(Point cen, double rad)center, radius를 보여주는 함수를 정의하고 메인함수에서 출력*/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include typedef struct { int xpos; int ypos; }Point; typedef struct { Point cen; double rad; }Circle; Circle GetCircleInfo(void) { Circle cir; printf("원의 중심 입력: "); scanf("%d %d", &cir.cen.xpos, &cir.cen... 2016. 8. 25.
2016-08-22_조재찬_스터디일지_C언어-문자와 문자열 관련 함수 하나의 문자를 출력하는 함수 int putchar(int c);int fputc(int c, FILE * stream); // *stdout은 모니터 출력, putchar함수와 동일한 결과 하나의 문자를 입력받는 함수 int getchar(void);int fgetc(FILE * stream); // *stdin은 키보드로 문자 입력받음 파일의 끝에 도달하거나 함수호출 실패 시 EOF(End Of File) 반환EOF는 파일의 끝을 알리기 위한 상수 -1 로 정의된다. /* 문자열 관련 입출력 함수*/ 1 2 3 4 5 6 7 8 9 10 11 12 #include int main() { int ch1 = getchar(); // 문자 입력 int ch2 = fgetc(stdin); // 엔터 키 입력 .. 2016. 8. 23.
ORCAD 설치시 CPU 100% 사용문제 설치시 CPU 100% 사용되는 문제점이 있는데 재부팅한뒤 C:\OrCAD\OrCAD_10.5\tools\bin 폴더의 cdsMsgServer.exe 와 cdsNameServer.exe 파일을 위 캡쳐 화면처럼 이름을 아무렇게나 변경한뒤 저장한뒤 capture CIS 실행을 하면 CPU 점유율이 줄어듭니다... 저 파일 2개가 정품인증과 관련된 파일이라고 하니.... 실행에는 지장이 없을듯 합니다; 참고 : http://www.eightforums.com/performance-maintenance/9167-service-host-local-system-network-restricted-high-cpu-usage.html 2016. 8. 8.
728x90
반응형