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

검색결과 1,287건 처리시간 0.029초

자바와 C 언어 결합을 위한 자바 전처리기 (Java Preprocessor for Integration of Java and C)

  • 이창환;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제10권4호
    • /
    • pp.537-547
    • /
    • 2007
  • 컴퓨터 기술 발전에 따라 컴퓨터는 복잡하고 다양한 작업을 실행하고 있다. 또한 프로그램 복잡도 증가와 사용 언어의 한계 때문에 둘 이상의 프로그래밍 언어를 사용하여 응용 프로그램을 구현되고 있다. 그러나 현재 여러 언어를 동시에 사용하여 프로그램을 작성하거나 이를 구현하는 일반적인 방법론은 없는 상태이다. 본 논문에서는 위와 같은 문제점을 해결하기 위하여 여러 언어의 혼합 사용 형태와 구현 방식을 이종 언어 결합도(Heterogeneous Language Integration Degree)를 통해 분류하였다. 또한 이종 언어 결합도를 통해, 현재 구현된 객체지향 언어인 자바와 절차형 언어인 C 언어를 동시에 사용하는 방법인 JNI(Java Native Interface)를 이종 언어 결합도 측면에서 개선한 자바 전처리기를 설계하고 구현하였다.

  • PDF

C언어에서 포맷 스트링이 프로그램 보안에 미치는 영향 (A Study on the Effect of Format String on Secure Programming in C Language)

  • 이형봉;차홍준;최형진
    • 정보처리학회논문지C
    • /
    • 제8C권6호
    • /
    • pp.693-702
    • /
    • 2001
  • C 언어가 가지고 있는 특징 중의 하나는 포인터형 변수를 제공하여, 프로그램 작성자가 임의의 주소영역에 쉽게 접근할 수 있다는 점이다. 따라서 운영체제에 의해서 세부적으로 통제되지 못한 메모리 영역은 C 언어를 통해서 읽기·쓰기·수행이 가능해 진다. C 언어의 포맷스트링은 이러한 C 언어의 특성에 따라 임의의 메모리를 접근할 수 있는 통로 역할을 할 수 있고, 따라서 프로그램 보안침해 수단으로 악용될 수 있다. 본 논문에서는 이러한 C 언어의 포맷스트링이 프로그램 보안침해에 적용되는 과정을 심층적으로 규명한 후, 지금까지 알려진 보편적인 수법보다 더욱 위협적인 단계적 지속적 바이러스 형태의 새로운 침해수법 가능성을 실증적 시나리오와 함께 증명함으로써 포맷스트링의 위험성에 대한 경각성을 높이고 대응방안 모색에 기여하고자 한다.

  • PDF

에니어그램 중심유형으로 보는 C와 Java간의 상호언어소통성 (Interlanguage Communication between C and Java as Enneagram Centered-Type)

  • 김세민;유강수;홍기천
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 추계학술대회
    • /
    • pp.641-643
    • /
    • 2017
  • 본 연구에서는 공업계 고등학교 학생들의 프로그래밍 언어 수업에서 에니어그램 성격 유형 검사를 실시한 후 중심유형을 파악하여 진행하였다. 학습자들은 C언어를 직전 학년에서 학습하였다. 유형별로 분류한 다음 자바 프로그래밍 언어의 수업을 진행하였다. 개학하고 4주차까지는 C언어와 비슷한 내용의 반복문, 제어문 등의 내용을 학습한 후 사전검사를 실시하였고, 방학식하기 전에 사후검사를 실시하였다. 본 연구를 통하여 여러 가지 프로그래밍 언어를 학습하면서 겪는 어려움을 파악하고 이로운 점도 파악할 수 있었다.

  • PDF

C2 아키텍쳐 스타일을 위한 UML2.0 프로파일의 확장 (Extending UML2.0 Profile of the C2 Architecture Style)

  • 노성환;전태웅;승현우
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권1호
    • /
    • pp.17-31
    • /
    • 2006
  • 소프트웨어 아키텍쳐는 소프트웨어 시스템의 상위 수준 모델이다. 이러한 소프트웨어 아키텍쳐는 명료하고 엄밀한 표현을 위해 아키텍쳐 기술 언어(ADL)를 사용하여 기술된다. 하지만 대부분의 ADL들은 C2 스타일 ADL(C2SADL)처럼 소프트웨어 시스템의 개발에 필요한 요소들 중에서 특정한 관점만을 고려하여 정의되었거나 별도의 표기형식으로 배워야 하는 부담이 있기 때문에 아키텍쳐를 명세하는 언어로서 정착되지 못하였다. 반면 UML은 범용 모델링 언어로서 소프트웨어 개발의 전 과정에 일관된 표기형식과 폭넓은 지원도구들을 제공하고 있으므로 소프트웨어 개발을 위한 사실상의 표준 언어로 자리잡았다. 그러나 UML은 소프트웨어 아키텍쳐를 표현하도록 설계된 것은 아니기 때문에 UML을 사용하여 아키텍쳐를 표현하기 위해서는 UML을 확장, 변경하여야 한다. 본 논문에서는 UML2.0에 기반한 C2 아키텍쳐 모델링 언어 프로파일을 정의하였다. 정의된 C2 아키텍쳐 모델링 언어는 식당 예약 시스템을 모델링 하는데 사용되었다.

자바 Bytecode 에서 MSIL 로의 변환을 위한 번역기의 설계 및 구현 (Design and Implementation of a Translator for Translating Java Bytecode into MSIL)

  • 민정현;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2001년도 춘계학술발표논문집 (하)
    • /
    • pp.743-746
    • /
    • 2001
  • 자바는 객체지향 언어이고, 한번 작성된 프로그램은 자바 가상 기계가 있는 모든 곳에서 수정없이 실행될 수 있기 때문에 소프트웨어의 개발과 유지 보수에 많은 장점을 가진 언어이다. 이러한 특징으로 인하여 개발되는 제품들이 자바로 구현되는 경우가 많다. 그러나 아직 대다수 소프트웨어 개발자들은 주로 C 언어나 C++ 언어를 사용하고 있으며, 최근에는 C#이라는 언어를 사용하고 있다. 자바가 플랫폼에 독립적인 장점은 가지고 있지만, 다수의 개발자 및 사용자가 마이크로소프트 윈도우 운영체제를 사용하고 있다는 것을 감안한다면 그리 탁월한 장점만은 될 수 없다. 또한, 최근의 개발동향이 COM(Component Object Model)을 지향하고 있고, 이는 더 이상 개발자들에게 프로그래밍 언어에 구애를 받지 않고 오직 개발 제품에 대한 집중력을 가질 수 있는 환경을 제공할 수 있다면, 그 개발 효율에 있어서 상당한 이점을 가질 수 있다는 의미이다. 따라서, COL(Component Object Language)을 기반으로 하고 있는 C# (C sharp)언어를 사용하여 개발을 함에 있어서 자바의 언어를 C# 언어로 변환할 수 있다면, 신생 언어인 C#에 있어서 기존 자바로 되어 있는 유용한 개발 제품들을 보다 효율적으로 이용할 수 있을 것이다. 본 논문에서는 두 언어(자바, C#)를 하나로 잇는 교량(bridge)역할을 할 수 있도록 자바의 중간 언어인 Bytecode를 C#의 중간 언어인 MSIL(Microsoft Intermediate Language)로 바꿀 수 있는 중간 언어 번역기를 설계하고 구현하였다. 이를 위한 방법으로는 먼저, 자바 Bytecode 와 MSIL 의 어셈블리 형태에서의 명령어 매칭과정을 매핑 테이블을 이용하여 처리하였고, MSIL 에서 자바 Bytecode 의 함수와 같은 기능을 하는 메소드의 변환을 위하여 마크로 변환기법을 이용하여 해결하였다.I/O ratio 2.5). BTEX의 상대적 함량도 실내가 실외보다 높아 실내에도 발생원이 있음을 암시하고 있다. 자료 분석결과 유치원 실내의 벤젠은 실외로부터 유입되고 있었고, 톨루엔, 에틸벤젠, 크실렌은 실외뿐 아니라 실내에서도 발생하고 있었다. 정량한 8개 화합물 각각과 총 휘발성 유기화합물의 스피어만 상관계수는 벤젠을 제외하고는 모두 유의하였다. 이중 톨루엔과 크실렌은 총 휘발성 유기화합물과 좋은 상관성 (톨루엔 0.76, 크실렌, 0.87)을 나타내었다. 이 연구는 톨루엔과 크실렌이 총 휘발성 유기화합물의 좋은 지표를 사용될 있고, 톨루엔, 에틸벤젠, 크실렌 등 많은 휘발성 유기화합물의 발생원은 실외뿐 아니라 실내에도 있음을 나타내고 있다.>10)의 $[^{18}F]F_2$를 얻었다. 결론: $^{18}O(p,n)^{18}F$ 핵반응을 이용하여 친전자성 방사성동위원소 $[^{18}F]F_2$를 생산하였다. 표적 챔버는 알루미늄으로 제작하였으며 본 연구에서 연구된 $[^{18}F]F_2$가스는 친핵성 치환반응으로 방사성동위원소를 도입하기 어려운 다양한 방사성의 약품개발에 유용하게 이용될 수 있을 것이다.었으나 움직임 보정 후 영상을 이용하여 비교한 경우, 결합능 변화가 선조체 영역에서 국한되어 나타나며 그 유의성이 움직임 보정 전에 비하여 낮음을 알 수 있었다. 결론: 뇌활성화 과제 수행시에 동반되는 피험자의 머리 움직임에 의하여 도파민 유리가 과대평가되었으며 이는 이 연구에서 제안한 영상정합을 이용한 움직임 보정기법에 의해서 개선되었다. 답이 없는 문제, 문제 만들기, 일반화가 가능한 문제 등으로 보고, 수학적 창의성 중 특히 확산적 사고에 초점을 맞추어 개방형 문제가 확산적 사고의 요소인 유창성, 독창성, 유연성 등에 각각 어떤 영향을 미치는지 20주의 프로그램을 개발, 진행하여 그 효과를

  • PDF

스몰베이직 언어 기반 교육용 인공지능 프로그램 작성을 지원하는 라이브러리 설계 및 구현에 관한 연구 (A Study on the Design and Implementation of Small Basic Library for Educational AI Programming)

  • 김지용;정승완;조성모;최광훈
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.694-696
    • /
    • 2017
  • 텍스트 기반 언어 스몰베이직은 기존 프로그래밍 언어와는 달리 배우기 쉽고 이후에 C/C++/Java로 빠르게 전환할 수 있기 때문에 청소년 프로그래밍 교육용 언어로 적합하다. 프로그래밍 교육에 흥미를 높이기 위해 풍부한 라이브러리가 필요하다. 풍부한 라이브러리를 바탕으로 마이크로소프트에서 개발한 스몰베이직 환경에서는 쉽게 프로그램을 작성 할 수 있지만, 최근 화두가 되고 있는 인공지능 프로그램을 쉽게 작성할 수 있는 라이브러리는 지원하지 않는다. 이 논문에서 오픈소스 소프트웨어 스몰베이직 환경하에 동작하는 데이터마이닝 라이브러리를 설계 및 구현하였고, 이 라이브러리를 기반으로 틱택토 게임을 개발하여 인공지능 스몰베이직 프로그램을 쉽게 작성할 수 있음을 확인하였다. 널리 보급된 언어인 C/C++/Java로 인공지능 프로그램을 작성하기 위해서는 광대한 범위의 지식과 코딩 실력이 바탕이 되어야 한다. 그러나 스몰베이직은 프로그램을 쉽게 작성 할 수 있고, 그림 기반의 교육용 언어인 스크래치와는 달리 텍스트 기반의 언어이기 때문에 이후에 C/C++/Java로 전환하기 용이하다.

TMO 모델 명세 언어 C++T의 설계 및 C++T-to-C++번역기의 개발 (Design of the TMO Specification Language C++ and Development of the C++T=to-C++ Translator)

  • 김문회;박용우
    • 한국정보처리학회논문지
    • /
    • 제5권3호
    • /
    • pp.795-810
    • /
    • 1998
  • 현재, 컴퓨터를 사용하는 실시간 시스템의 응용분야에 대한 요구가 급속히 증가하고 있다. 그러나 이러한 실시간 시스템의 개발은 체계적인 접근방법이 부족하다는 이유로 더디게 진행되고 있다. 체계적인 접근방법의 하나는 실시간 시스템의 시간적인 특성과 기능적인 행동을 잘 추상화 해 줄 수 있는 좋은 모델을 사용하는 것이다. 지금까지 객체지향 개념에 기반한 많은 모델들이 개발되어 소개되고 있다. 그 중 UCI에서 개발된 TMO (Time-triggered Message-triggered Object) 모델은 위에서 언급한 요구사항을 잘 만족시켜 준다. [1]본 논문에서는 이러한 TMO 모델을 가장 잘 명세해 줄 수 있도록 해 주는 TMO 모델 명세언어인 C++T를 설계하고 이에 대해 상세히 기술한다. 또한, 이러한 C++T 명세를 기존의 언어인 C++로 번역해 줄 수 있는 C++T번역기를 설계하고 개발한다. 마지막으로, TMO 명세언어 C++T를 기반으로 한 TMO 통합개발환경에 대하여 소개한다.

  • PDF

Java 안드로이드 & C 안드로이드 (Java Android & C Android)

  • 이호석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(D)
    • /
    • pp.32-34
    • /
    • 2012
  • 현재 Android 에서는 대부분 Java 언어로 응용 프로그램을 개발한다. 그러나 C 언어로 응용 프로그램을 개발해야 하는 경우도 많다. Android 에서 C 언어로 응용 프로그램을 개발하기 위해서는 NDK(Native Development Kit) 를 설치해서 사용해야 한다. Android 시스템에서 Linux 커널은 Android Runtime Java 프로세스만을 부팅한다. 그러나 만약 Android 에서 C 프로세스를 부팅한다면 C 언어로 직접 응용 프로그램을 개발할 수 있다. 본 논문은 Android 시스템에서 Android C 프로세스를 부팅시키는 간단한 방법을 제시한다. 그리고 적합한 C/C++ GUI(Graphic User Interface) 라이브러리와 응용 라이브러리를 확보하거나 또는 개발하여 설치한다면, 현재의 Java Android 를 C Android 로 변환시키게 된다.

JAVA를 이용한 Web-기반 유동 해석 프로그램의 개발 (DEVELOPMENT OF A WEB-BASED FLOW ANALYSIS PROGRAM USING OBJECT-ORIENTED LANGUAGE JAVA)

  • 김경성;박종천
    • 한국전산유체공학회:학술대회논문집
    • /
    • 한국전산유체공학회 2007년도 춘계 학술대회논문집
    • /
    • pp.112-115
    • /
    • 2007
  • 객체지향 언어인 JAVA를 이용하여 Web-기반의 운동 해석 프로그램을 개발하였다. 지금까지 운동해석에 관한 대부분의 프로그램은 Fortran, C, C++ 와 같은 언어로 이루어져 있으며 이 경우 계산 속도는 빠르지만 각 언어의 Compiler 와 Builder를 필요로 한다. 따라서 사용된 각각의 언어에 대한 Compiler 및 Builder가 사용자의 개인용 컴퓨터 상에서만 설치 및 구동될 수 있으며 그로 인해 사용자는 계산된 Data형 결과물만을 얻을 수 있었다. 본 연구에서는 이를 개선하고자 객체지향형 언어인 JAVA를 이용하여 운동해석 프로그램을 구성할 수 있는 기반을 구축하였으며 Web과 연동하여 시간적 공간적 제약을 극복하고 사용자의 의견 개입을 가능하게 하였다. 일반적으로 JAVA 언어는 연산속도가 느려서 수치해석용으로는 부적합 하다는 평이 지배적 이였으나 컴퓨터의 성능 발달로 이는 개선이 될 수 있으며, 이는 사용자가 시간적 공간적 제약을 받지 않고 사용 가능하다는 점에서 극복되어 질 수 있다.

  • PDF