조달청/나라장터 iframe 링크 생성

공공 SI를 진행하다 보면 조달청/나라장터 데이터를 iframe으로 넣어 달라는 요구 사항이 있다.
처음에는 어떻게 하는지 몰라서 한참 삽질 했는데,
나중에 알고보니 iframe용 url 생성하는 서비스가 따로 있었다.
그건 여기

728x90
반응형

C 언어의 개요

  • 주요 용어

    • compiler : 작성된 프로그램을 기계어로 변환해주는 번역기.
    • source code : 프로그램 안에 있는 명령어.
    • object file(목적파일) : .obj 확장자를 갖는 팡일로 기계어들의 집합으로 이루어진 파일.
    • linker(링커) : 여러 목적파일과 라이브러리 파일을 연결해 주는 도구.
    • reserved word(예약어) : C 언어에 미리 정의되어 있는 단어.

C 언어의 정의, 역사, 특징

C언어의 정의

  • 프로그래밍 언어
    • 사람과 컴파일러(compiler)가 이해할 수 있도록 약속된 형태의 언어.

Compiler

  • 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해 주는 번역기.
    • 어셈블러(assembler) : 기호로 표현된 어셈블리 코드를 기계어로 번역하는 번역기.
    • 인터프리터(interpreter)
      • 소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리,
        프로그램을 한 단계씩 기계어로 해석하여 실행하는 '언어처리 프로그램'

C언어의 역사

  • Denis Ritchie (1972)
  • Unix 운영체제 구현에 사용할 목적으로 개발.
    • 컴퓨터 기종간 호환성을 가진 고급이면서, 하드웨어를 제어할 수 있는 새로운 언어가 필요함.
  • 어셈블리 언어로 된 UNIX 운영체제가 거의 C 언어로 대체됨.

C 언어의 특징

  • 프로그램 이식성이 높음.
  • 간단한 문법 표현으로 함축적인 프로그램 작성이 가능.
  • 저급언어 특성을 가진 고급언어.

C 프로그램 작성 및 준비

프로그램 개발 단계

일반적인 프로그램 개발

  • 프로그램 목적 정의.
    • 요구 분석과 시스템 분석을 통하여 프로그램이 가져야 할 기능 정의.
  • 프로그램 설계.
    • 분석된 기능을 처리할 수 있도록 프로그램 구조 설계.
  • 소스코드 작성.
    • 작성된 프로그램 설계를 기반으로 에디터를 사용하여 작성.
  • 컴파일 / 링크.
    • 소스코드를 실행 가능한 코드로 변환하고 문법 검사.
  • 프로그램 실행.
    • 프로그램 실행.
  • 테스트와 디버깅.
    • 에러를 검사하고 디버깅.
  • 유지 보수.
    • 사용 중 발생 되는 에러나 추가적인 변경사항을 처리.

C 프로그램을 작성한다면

에디터와 컴파일러가 필요함

  • 에디터 : 소스코드를 작성하여 저장할 수 있도록 도와주는 도구.
  • C 컴파일러 : Turbo C/C++, Dev-C++, Visual C++, GCC, ...

C 프로그램의 완성 과정

코딩 -> 컴파일 -> 링킹

  • 코딩.
    • 주어진 문제에 대한 설계를 바탕으로 소스코드(source code)를 작성하여 소스파일(source file)을 생상하는 과정.
  • 컴파일(compile) 단계.
    • 소스파일이 목적파일(object file)로 변환되는 과정.
  • 링킹(linking) 단계.
    • 목적 파일을 실행파일(execution file)로 변환하는 과정.

\

소스파일의 생성

실행 파일의 생성(링킹 과정)

실제로는 컴파일 후, 링킹 과정을 거쳐 실행 파일이 나옴.
다만 링킹 과정을 거친다는 사실은 인지하고 있어야 함.


C 프로그램의 구성

C 개발을 할 때, 기본적인 틀을 만들어 사용 해야 함.
기본적인 C의 틀을 알아보자.

C 프로그램의 구조

  // 도입부 : 프로그램 전체에 적용되는 사항을 기술.
  /* C 프로그램 구조의 예*/
  #include<stdio.h>
  int add(int x, int y);
  // --------------------------------- //
  //  main()는 가장 먼저 호출되는 함수로서 모든 프로그램에 반드시 존재함.
  void main() {
    // 선언문
    // 치환문
    // 제어문
    // 함수 호출
  }
  // --------------------------------- //
  //  main()에서 호출되는 함수에 대한 정의
  호출될 함수() {
    //
  }
  • C 프로그램은 반드시 하나 이상의 함수를 포함해야 한다.
  • main()가 반드시 존재해야 한다.
  • 함수의 시작과 끝을 알리는 {}를 사용해야 한다.
  • 중괄호 안에는 변수 선언문, 치환문, 연산문, 함수 등의 명령을 기입한다.
  • 선행처리기(proprocessor)를 제외하고 문장의 끝에는 세미콜론을 붙인다.

C 프로그램의 구성 요소

  • 예약어(reserved)
    • 자료형 : char, int, float, short, long, double, unsigned, union, enum, void, ...
    • 기억 : auto, static, extern, register, ...
    • 제어 : ifelse, for, while, dowhile, wditch~case, break, continue, return, ...
    • 기타 : main, sizeof, include, ...
  • 명칭(idnetifier) : 변수, 배열, 함수, ... 등의 이름
    • 규칙
      • 영문자, 숫자의 조합.
      • 명칭의 첫 문자는 영문자나 _ 이어야 함.
      • _이외의 특수문자 사용 X.
      • 문자 사이에 공백 X.
      • 예약어 사용 X.
      • 대소문자는 구별하여 사용.
      • 명칭의 길이는 컴파일러에 다라 차이가 있음. (일반적으로 32자)
  • 상수 : 값이 불변인 자료.
  • 연산자 : =, -, *, /, ++, ...
    • 다른 언어에 비해 연산자가 많음.
  • 설명문 : 프로그램에 대한 주석.
    • /**/, //

에러와 경고

에러

  • C 언어의 문법상 잘못된 경우 에러.
  • C 언어 문법에 맞지 않은 형식의 사용이나, 반드시 필요한 지정이 빠진 경우 발생.
  • 에러 메세지를 확인하여 반드시 수정해야 함.

경고

  • 경미한 실수.
  • 큰 문제는 없지만, 이식성에 문제가 생기거나, C 언어 문법에서 권장하지 않은 방법으로 소스를 작성했을때 경고.
  • 무시해도 상관 없음.
728x90
반응형

'Language > C' 카테고리의 다른 글

[C] 함수와 기억 클래스 - 1  (0) 2020.12.20
[C] 선택 제어문과 반복 제어문  (0) 2020.12.20
[C] 입출력 함수와 연산자 - 2  (0) 2020.12.20
[C] 입출력 함수와 연산자 - 1  (0) 2020.12.15
[C] 자료형과 선행 처리기  (0) 2020.12.14

+ Recent posts