• Title/Summary/Keyword: C/A 코드

Search Result 679, Processing Time 0.033 seconds

Design and Implementation of a Decompiler for Verification and Analysis of Intermediate Code in C++ Compiler (C++ 컴파일러에서 중간코드의 검증과 분석을 위한 역컴파일러의 설계 및 구현)

  • Bae Sung-Kyun;Kim Young-Keun;Lee Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.05a
    • /
    • pp.1405-1408
    • /
    • 2006
  • C++ 언어는 객체지향 프로그래밍 언어로, 기존의 C++ 프로그램은 각각의 플랫폼에 따른 컴파일러를 통해 목적기계의 코드(object code)로 변환되므로 실행되는 플랫폼에 의존적인 단점이 있다. 이러한 단점을 보완하는 방법으로 스택기반의 가상기계와 가상기계의 입력형태인 중간코드를 이용하는 기법이 있다. EVM(Embedded Virtual Machine)은 ANSI C, ISO/IEC C++ 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템 기반의 가상기계이며, EVM에서 실행되는 중간코드인 SIL(Standard Intermediate Language)은 객체지향 언어와 순차적인 언어를 모두 수용하기 위한 명령 코드의 집합으로 설계되어 있다. 본 논문에서는 C++ 컴파일러를 통해 생성된 SIL 코드가 올바른지 검증하고 원시코드의 분석을 용이하게 하기 위해서 SIL 코드를 어셈블리 코드와 유사한 형태의 재 표현된 C++ 프로그램으로 역컴파일하는 시스템을 설계하고 구현하였다.

  • PDF

Development of a Decompiler for Verification and Analysis of an Intermediate Code in ANSI C Compiler (ANSI C 컴파일러에서 중간코드의 검증과 분석을 위한 역컴파일러의 개발)

  • Kim, Young-Keun;Kwon, Hyeok-Ku;Lee, Yang-Sun
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.3
    • /
    • pp.411-419
    • /
    • 2007
  • Mounted on mobile device, set-top box, or digital TV, EVM is a virtual machine solution that can download and execute dynamic application programs. And the SIL(Standard Intermediate Language) is intermediate language of the EVM, which has a set of opcodes for object-oriented language and a sequential language. Since the C compiler used on each platform depends on the hardware, it converts C program to objective code, and then executes. To solve this problem, our research team developed ANSI C compiler and the EVM. Our ANSI C compiler outputs the SIL code based on stack machine. This paper presents the SIL-to-C decompiler in which converts the SIL code to three address code. Thus, the decompiler allows us to verify SIL code created by ANSI C compiler, and analyze a program from C language source level.

  • PDF

A Study on Translation of C# MSIL Code into Oolong Code for Embedded Systems (임베디드 시스템을 위한 C# MSIL 코드의 Oolong 코드 번역에 관한 연구)

  • Che, Sung-Kyou;Jung, Ji-Hoon;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05b
    • /
    • pp.983-986
    • /
    • 2003
  • 마이크로소프트사는 .NET 플랫폼을 개발하면서 C/C++의 강력함과 자바나 비주얼 베이직의 높은 생산성을 매우 효과적으로 결합한 프로피래밍 언어인 C#을 만들었다. C#은 컴파일 과정을 거치며 자바의 바이트 코드와 같은 중간 언어인 MSIL 코드를 갖는 파일을 출력하게 되는데, C# 이외에도 모든 .NET 언어들은 컴파일과정을 거치면서 MSIL 코드를 얻기 때문에 여러 .NET 언어들을 이용해서 하나의 응용 프로그램을 만들 수 있다. 썬 마이크로시스템즈사의 자바는 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트 코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 운영체제와 하드웨어에 독립적으로 수행이 가능한 차세대 언어이다. 본 논문에서는 임베디드 시스템에서의 적용을 위해 C#을 컴파일 하여 나오는 중간 언어 형태인 MSIL 코드를 자바의 중간언어의 한 종류인 Oolong 코드로 변환해 줌으로서 C#으로 구현된 프로그램이 자바 플랫폼에서 JVM에 의해 실행되도록 하는 MSIL-to-Oolong 번역기 시스템 구현하였다.

  • PDF

x86 assembly-to-C Translator (x86 assembly-to-C 변환기)

  • Lee, Ho Jin;Lee, Sang Hee;Park, Bo Hyun;Kim, Seon Wook
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.37-40
    • /
    • 2010
  • 본 논문에서는 C 언어로부터 GNU 컴파일러에 의하여 생성된 x86 어셈블리 코드를 고수준의 언어인 C 코드로 변환하여 출력하는 컴파일러의 구현에 대하여 설명한다. 또한, 원천 C 코드와 새롭게 생성된 C 코드와의 성능 비교분석을 수행하였다.

A Development of Model Based Automatic Code Generation (모델 기반 자동코드 생성기 개발)

  • Lee, Jeong-Woo;Choi, Kyung-Hee;Jung, Ki-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.918-921
    • /
    • 2010
  • 본 연구에서는 Simulink Model(이하 Model)을 C Code 로 변환시켜주는 자동 코드 생성기, SimAutoCodeGenerator 를 제안하였다. Model 의 테스트케이스를 생성하기 위한 작업에서 반복적인 프로그램의 실행을 통한 테스터와의 다양한 피드백이 필요하다. 이때, Simulink는 이런 작업을 하는 데 있어서 적절한 정보를 제공하기 어려울 뿐만 아니라 테스트 케이스를 생성하는데 필요한, 실행 시 특정 시점으로 돌아가는 기능을 수행하기 위해서는 프로그램을 정지한 후 다시 실행해야하는 문제점을 가지고 있다. 본 연구에서는 이와같은 단점을 보완하기 위하여 Model 을 C 코드로 변환하였다. 생성된 C 코드는 Model 과의 일치성을 증명한 후 자동 테스트케이스 생성을 위한 프로그램에 쓰이게 될 것이다. 먼저 C 코드의 생성 메커니즘을 알아보고 생성된 C 코드와 Model 의 일치성을 증명하였다.

C++ Template-based Fixed-Point Arithmetic Library (C++ 템플릿 기반의 Fixed-Point 연산 라이브러리)

  • Hwang, Seon Joong;Kim, Seon Wook;Min, Byung Gueon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.49-52
    • /
    • 2010
  • 디지털 신호처리 알고리즘들은 실제 시스템에 적용할 때 임베디드 시스템 등 하드웨어의 성능과 소비전력 및 비용에 제약이 있을 경우 연산 정밀도가 높은 floating-point 연산 대신 제한된 정밀도와 적은 연산 비용을 요구하는 fixed-point 연산을 사용하여 구현한다. 시스템의 개발단계에서는 적용할 알고리즘을 floating-point 연산을 이용한 코드를 먼저 작성한 후 이를 fixed-point 연산으로 대체하는 과정을 거치게 되는데, 이는 숙련된 개발자와 상당한 양의 개발기간을 요하는 까다로운 작업이다. 이에 본 연구에는 코드작성 편의를 높이고 개발기간을 단축하기 위해 C++ template 기반의 fixed-point 연산 라이브러리를 개발하였다. 이는 floating-point 연산 코드와 fixed-point 연산 코드를 별도로 개발할 필요 없이 하나의 코드를 이용하여 자유로이 연산 정밀도를 지정할 수 있으며 개발자는 기존의 floating-point 연산을 이용하는 코드를 작성하는 것처럼 쉽게 코드를 작성할 수 있도록 한다. 또한, template 기반으로 작성되어 기존의 연구들과 달리 추가적인 작업도구 없이도 범용 C++ 컴파일러가 최적화된 코드를 생성할 수 있도록 되어있는 것이 특징이다.

Test of a C-code generator for safefy-grade PLCs (안전등급 PLC용 C-코드 발생기 시험)

  • Kim, Seog-Joo;Cheon, Jong-Min;Lee, Jong-Moo;Kwon, Soon-Man
    • Proceedings of the KIEE Conference
    • /
    • 2007.10a
    • /
    • pp.265-266
    • /
    • 2007
  • 본 논문에서는 안전등급 PLC(Programable Logic Controller) LD/FBD(Ladder/Function Block Diagram) 프로그램을 C-코드로 변환하는 C-코드 발생기의 시험에 관해서 다룬다. 개발된 C-코드 발생기는 로직 분석, 오류 검출, C-코드 생성 등 각 부분 별로 시험 항목을 설정하고 검증하는 방법에 대해서 서술한다. 또한 C-언어로 작성된 사용자 정의 함수/함수 블록에 관한 시험 항목을 기술한다.

  • PDF

A Study on the reverse engineering technique (C++ 원시코드에서 객체 모델로의 역공학 기술에 관한 연구 및 구현)

  • 유일준;홍찬기
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.511-513
    • /
    • 1998
  • 본 연구에서는 Object Modeling Technique를 기반으로 C++ 원시코드로부터 클래스 계층구조의 정보를 추출하여 데이터베이스에 저장하고 계층구조를 이해하기 위한 클래스 계층구조를 디자인으로 도식화하여 이를 다시 디자인 상태에서 C++ 원시코드와 동적 연결이 가능한 역공학 도구를 제안한다. 본 연구는 C++ 원시코드와 클래스 계층 구조를 표현하는 디자인과 상호 동적 연결이 가능하므로 C++원시코드의 이해와 관리가 효율적이다.

Design of C/C++ Code Recycle System for No ActiveX in HTML5 Environment (HTML5 환경에서 No ActiveX를 위한 C/C++ 코드 재활용 시스템 설계)

  • Choi, Tae-Bum;Park, Seok-Cheon;Oh, Jung-Bok
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2015.04a
    • /
    • pp.629-632
    • /
    • 2015
  • ActiveX는 DLL(C/C++ 컴포넌트) 연동과 로컬 리소스를 사용하여 웹의 한계를 극복할 수 있는 웹 애플리케이션을 기술이다. 최근 까지 국내에서 널리 활용되어 왔지만 호완성과 보안문제로 인해 폐지될 예정이다. 현재 HTML5가 대안으로 고려되고 있지만 지원되는 API 안에서만 자유롭고 DLL(C/C++ 컴포넌트) 호출이 불가능하기 때문에 ActiveX를 완벽하게 대체하기는 사실상 불가능하다. 따라서 본 논문에서는 기존의 ActiveX의 DLL(C/C++ 컴포넌트) 코드를 재활용하기 위해 GNU 빌드 시스템과 통합 빌드 시스템을 통해 코드 의존성을 분석하고 LLVM을 통해 비트코드로 컴파일한 후 최종적으로 Emscripten을 통해 자바스크립트 코드로 재활용하는 시스템을 설계 하였다.

The Circuit Design and Analysis of the Digital Delay-Lock Loop in GPS Receiver System (GPS 수신 시스템에서 디지탈 지연동기 루프 회로 설계 및 분석)

  • 금홍식;정은택;이상곤;권태환;유흥균
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.19 no.8
    • /
    • pp.1464-1474
    • /
    • 1994
  • GPS(Global Positioning System)is a satellite-based navigation system that we can survey where we are, anywhere and anytime. In this paper, delay-lock loop of the receiver which detects the navigation data is theoretically analyzed, and designed using the digital logic circuit. Also logic operations for the synchronization are analyzed. The designed system consists of the correlator which correlates the received C/A code and the generated C/A code in the receiver, the C/A code generator which generates C/A code of selected satellite, and the direct digital clock syntheizer which generates the clock of the C/A code generator to control the C/A code phase and clock rate. From the analyses results of the proposed digital delay-lock loop system, the system has the detection propertied over 90% when its input signal power is above-113.98dB. The influence of input signal variation of digital delay loop, which is the input of A/D converter, is investigated and the performance is analyzed with the variation of threshold level via the computer simulation. The logic simulation results show that the designed system detects precisely the GPS navigation data.

  • PDF