• 제목/요약/키워드: C언어

검색결과 1,291건 처리시간 0.028초

오픈 소스 C++에서의 유닛 테스팅 프레임워크에 관한 고찰 (A Study of Unit Testing Frameworks on Open Source C++)

  • 허석렬;손영호
    • 융합보안논문지
    • /
    • 제13권4호
    • /
    • pp.33-39
    • /
    • 2013
  • 소프트웨어 개발을 성공적으로 수행하기 위하여서 유닛 테스팅은 아주 필수 불가결한 요소이다. Python, Java, C# 등의 현대 컴퓨터 개발 언어에서는 유닛 테스팅을 용이하게 하기 위하여 다양한 기능을 제공하고 있다. 하지만, C++ 언어에 있어서는 워낙 많은 프레임워크를 제공하고 있는 관계로, 유닛 테스팅을 위한 프레임워크 선택이 결코 용이하지 않다. 이 논문에서는 C++ 언어에서의 유닛 테스팅을 위한 프레임워크를 집약된 test runner와 분리된 test runner의 두 그룹으로 나눠서 고찰하였다.

Web기반 Virtual OS에서의 C언어 preprocessor 환경 설계 및 구현 (Design and Implement of a C Preprocessor in Web-based Virtual OS)

  • 조정우;김진석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.31-33
    • /
    • 2001
  • 최근 web기반에서 언제 어디서나 사용자만의 컴퓨터환경을 제공하는 Virtual OS를 구현한 사례가 많이 발표되고 있다. [1, 2, 3]. Virtual OS는 Unix나 Windows같은 Real OS를 기반으로 하여 web에서 OS의 기능을 구현한 것으로 Real OS에 있는 프로그램을 실행하고 파일을 관리한다. 본 논문에서는 Web기반 Virtual OS에서 동작하는 C 언어 Preprocessor를 설계한다. Web기반으로 preprocessor를 설계하면 어디서나 사용자가 프로그래밍을 할 수 있는 환경을 구축할 수 있다. 본 논문에서는 Linux를 기반으로 preprocessor를 구현하였으며, 분석 결과를 시뮬레이션을 통해 알아보았다.

SystemC로 구현된 하드웨어 명세의 정형 검증 (Formal Verification of Hardware Implemented in SystemC)

  • 김민숙;안영정;방기석;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (A)
    • /
    • pp.37-39
    • /
    • 2003
  • 내장형 시스템의 개발에 있어서 자원의 효율적인 활용과 정확한 설계를 위해 SystemC를 이용한 통합설계 방식이 많이 사용되고 있다. 하지만 시스템이 점점 복잡해지면서 단순한 언어차원에서의 개발 뿐 아니라 개발 이전에 시스템의 정확성을 검증해야 할 필요성이 대두되었다. 이를 위해 정형기법 및 테스팅과 같은 방법을 사용하게 되었다. 본 논문에서는 SystemC로부터 정형기법 도구인 VIS의 입력 언어인 BLIF-MV로 자동 변환하는 알고리즘을 제시하고, SystemC 코드의 자동 검증 방법을 제시하고 실제 시스템에 적용해 보았다.

  • PDF

임베디드 시스템 지원을 위한 LCC Retargetable Compiler 에 관한 연구 (A Study of LCC Retargetable Compiler for Embedded Systems)

  • 홍일경;김기창
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (상)
    • /
    • pp.431-434
    • /
    • 2003
  • 과거 임베디드 시스템은 산업용 같은 특수한 경우와 여러 전자 제품에서 눈에 뛰지 않는 형태로 사용이 되어 왔지만 최근 들어 정보통신 분야가 발전하고 가격 대 성능비가 우수한 Microcontroller 와 CPU 들이 등장하면서 더욱 더 각광을 받기 시작했다. 이들의 개발환경은 C 언어와 어셈블리어가 주를 차지하고 있는데 개발상의 많은 장점 때문에 C 언어를 선택하여 사용하고 있지만 target machine 의 C 컴파일러가 전부 제공되지 않고 일부 machine 만 제공되고 있기 때문에 C 언어의 사용은 아직 제한적이다. 이에 본 논문에서는 Retargetable Compiler 인 LCC 를 이용하여 임베디드용 machine 에 대해 retargeting 이 가능하도록 LCC 를 개선시키고자 한다.

  • PDF

정적로딩 및 동적로딩을 통한 S-PLUS와 C 언어간의 인터페이스 구현 (Interface between S-PLUS and C using Static Loading and Dynamic Loading)

  • 차경준;박영선
    • 응용통계연구
    • /
    • 제12권1호
    • /
    • pp.29-43
    • /
    • 1999
  • S-PLUS는 통계자료분석 및 모의실험을 행할 때 가장 많이 사용되는 통계패키지 중 하나로서 연산을 수향하는 내장함수(buit-in function)와 그래픽 기능을 가지고 있다. 그러나, 이러한 기능이 모든 문제를 해결해 주는 것은 아니며 문제 해결을 위하여 함수를 복합적으로 사용하거나 C 또는 Fortran같은 언어로 구성된 프로그램을 S-PLUS와 연결시켜 사용해야 하는 경우가 발생한다. 본 논문에서는 많은 장점을 가지고 있음에도 불구하고 실제 구현단계에서 여러 가지 어려움으로 인하여 널리 쓰이지 못하고 있는 S-PLUS와 C 언어간의 인터페이스 구현에 관한 것으로 정적로딩(Static Loading)과 동적로딩(Dynamic Loading)을 통한 구체적인 인터페이스 실행방법을 보이고 그 예를 실행하였다.

  • PDF

C# 언어에서 컴포넌트 속성 가변성 구현 기법 (Techniques to Implement Component Attribute Variability in C#)

  • 김상욱;김수동
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (2)
    • /
    • pp.280-282
    • /
    • 2003
  • 가변성은 컴포넌트의 재사용성을 향상시킬 수 있는 요소이다. 어떤 도메인의 여러 패밀리에서 사용될 수 있는 컴포넌트를 개발하기 위해 컴포넌트 가변성이 강조되고 있다. 개발된 컴포넌트가 다양한 유형의 가변성을 지원할수록 도메인 내에서 재사용성이 높아진다. 하지만, 컴포넌트가 너무 많은 가변성을 지원하도록 개발되면, 컴포넌트의 크기가 거대해지며, 개발 기간과 개발 비용이 증가하게 된다. 따라서 해당 도메인에 맞는 적절한 가변성을 지원하는 컴포넌트를 개발해야 한다. .NET의 C# 언어는 컴포넌트 개발 언어로 산업계에서 각광 받고 있다. 본 논문에서는 C#에서 제공하는 기본적인 장치를 활용해 속성 가변성을 지원하는 컴포넌트를 구현 기법을 제시한다. 클래스를 동적으로 생성할 수 있는 빌더(Builder) 클래스를 통해 속성 가변성을 지원한다. 그래서 여러 패밀리 멤버에서 재사용 할 수 있는 고품질의 컴포넌트 개발 방법을 제시한다.

  • PDF

Object C의 가비지 컬렉션을 통한 메모리 관리 정책 분석 및 전망 (Analysis and Forecast for Object-C garbage collection memory management policies.)

  • 권예진;박용범
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 춘계학술발표대회
    • /
    • pp.994-997
    • /
    • 2013
  • 가비지 컬렉션(Garbage Collection)은 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블록 혹은 개체를 찾아 자동적으로 다시 사용 가능한 자원으로 회수하는 것을 의미한다. 최근 대부분의 프로그래밍 언어에서는 메모리 관리를 자동으로 처리해주는 가비지 컬렉터를 기본적으로 포함하고 있으며 이러한 시스템 환경은 개발자들의 개발 속도 향상과 프로그램 가독성을 높여주는 이점을 주고 있다. 그러나 가비지 컬렉터는 자원이 한정되어 있는 스마트폰과 같은 환경에서는 큰 오버헤드를 가지며 성능 저하의 주 원인으로 꼽히기도 한다. 따라서 iOS의 경우에는 가비지 컬렉터를 지원하지 않는다. 이에 따라 본 연구에서는 스마트폰의 안드로이드와 iOS의 프로그래밍 언어인 Java와 Object C의 가비지 컬렉터의 알고리즘을 분석하여 두 언어의 개발환경의 차이를 비교 하였다. 또한 앞으로 Object C의 메모리 관리 정책에 대하여 서술하였다.

간결한 한글 프로그래밍 언어 "새싹" (A Concise Korean Programming Language "Sprout")

  • 천준석;강도훈;김건우;우균
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.496-503
    • /
    • 2015
  • 현재 사용되고 있는 대부분의 프로그래밍 언어는 영어를 기반으로 제작되어 있다. 이러한 점은 비영어권 국가에서 프로그래밍 언어를 배우는 데 장벽이 된다. 완전하게 자국어로 만들어진 프로그래밍 언어가 있다면 프로그래밍의 교육비용이 많이 줄게 될 뿐만 아니라 학생들도 더 많은 흥미를 느끼게 될 것이다. 그러나 자국어를 바탕으로 한 프로그래밍 언어 설계는 큰 주목을 받지 못했으며 발표된 연구 결과도 많지 않다. 그 원인은 한편으로 프로그래밍 언어가 너무 빠르게 발전하고 있기 때문이며 다른 한편으로는 소스코드보다 프로그램의 효율성이 더 강조되어 왔기 때문이다. 하지만 자국어를 바탕으로 프로그래밍 언어를 설계하는 것은 하찮은 문제가 아니며 특히 프로그래밍 교육 측면에서 매우 중요하다. 사실 한글 프로그래밍 언어 분야에는 적잖은 연구 결과가 있었지만 실제로 한글 언어가 실제로 교육에 사용된 사례는 드물다. 이 논문에서는 배우기 쉬운 한글 프로그래밍 언어인 새싹을 소개한다. 새싹의 간결성을 입증하기 위해 두 개의 실험을 수행하였다. 첫째, 새싹으로 작성된 프로그램과 다른 한글 프로그래밍 언어로 작성된 프로그램의 크기를 비교하였다. 둘째, 새싹 언어 자체의 크기를 C나 Python 등 널리 사용되는 언어의 크기와 비교하였다. 실험 결과 새싹으로 작성된 프로그램의 크기는 다른 한글 프로그래밍 언어로 작성된 프로그램보다 평균 10% 더 간결하였다. 또한, 새싹 언어의 크기는 널리 사용되는 언어보다 평균 24% 간결하였다.

웹기반 컴파일과 실행을 지원하는 C언어 교육콘텐츠 개발 (C-language Learning Contents Supporting Web-based Compiling and Running)

  • 김성현;김영국
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2006년도 추계 종합학술대회 논문집
    • /
    • pp.796-800
    • /
    • 2006
  • 본 논문에서는 프로그래밍 언어 학습에서 기존의 상용 소프트웨어 개발도구를 이용한 교육에서 벗어나 이해와 실습 중심의 학습이 보다 편리하고 효과적으로 진행될 수 있도록 웹 기반 온라인 학습 콘텐츠를 개발하였다. 프로그래밍 언어 학습은 소스코드를 작성하고 컴파일 후 실행시키는 과정을 거치면서 원리를 깨우쳐 가는 것이 일반적이며 대부분 Microsoft사의 통합개발환경(Visual Studio)이나 상용 소프트웨어 패키지를 각각의 실습 PC에 설치해서 수업을 진행하고 있다. 이 방법은 실습하는 모든 PC에 프로그램을 설치해야하고 구입비용이 적지 않으며 프로그램이 설치되어 있지 않은 곳에서의 학습은 어렵다. 이를 해결하기 위해 리눅스서버와 오픈소스 소프트웨어를 활용하여 웹 브라우저 상에서 직접 코드를 입력해서 컴파일하고 결과를 확인할 수 있는 프로그래밍 언어 학습 콘텐츠를 개발하였다.

  • PDF