본문 바로가기

C

(6)
[Pro*C] Pro*C 소개와 기본 특징 및 오류 진단 1. Pro*C 소개와 기본 특징 1-1. Pro*C 개요SQL 문은 절차형 언어가 아닙니다. 그래서 오라클을 포함한 많은 데이터베이스는 PL/SQL이라는 절차형 언어를 제공합니다. PL/SQL은 오라클 내부에서 실행되는 프로그램으로서 오라클 내부라는 한정된 공간에서 실행되는 도구입니다. DBMS의 버전이 높아지면서 이전관 다르게 PL/SQL에도 다양한 기능이 추가 되었습니다. 예를 들면, TCP/IP, HTTP, FILE I/O 등과 같은 기능이 추가되어 다양한 방식의 프로그래밍이 가능해졌습니다. 하지만 오라클 외부 프로그램과의 연동 등에 있어서는 많은 제약이 있습니다. 예를 들어, TCP/IP 통신을 하는 PL/SQL 문장을 작성하여 수행하는 중에 메모리 할당 등 예기치 않은 오류로 프로그램이 종료되..
[C/C++] C를 이용한 프로그래밍 01. C언어 소개 C언어는 1970년에 벨 연구소의 톰프슨이 B라는 언어를 만들었고 그후 같은 연구소의 데니스 리치에 의해 C언어가 개발되었습니다. 그는 사용하기 편하면서도 운영체제를 만들 수 있을 정도의 강력한 언어를 만들 수 있을 정도의 강력한 언어를 만들기 원했는데 그의 시도는 성공했고 그 결과물로 C가 탄생하게 되었습니다. C언어는 B언어가 발전한 모습이라고 했는데, B언어 이전에는 CPL이라는 언어가 있었고 이는 ALGOL 언어에서 업그레이드 된 언어입니다. C 언어는 B 언어의 다음이라는 뜻으로 이름이 지어졌는데 언어 개발의 최대 목적은 유닉스 OS를 효율적으로 작성할 수 있는 언어를 만들어보자는 것이었습니다. C는 개발된 이후 유닉스를 비롯한 거의 모든 시스템환경에 포팅이 되어 사용되어 왔..
[C/C++] C와 C++을 동시에 배워보자 시스템 프로그래밍을 다시 복습하면서, C/C++ 언어를 다시 되새기기 위해 강좌를 수강하고 있습니다. 강좌사이트는 역시 입문이 쉬운 코딩 강좌 사이트 인프런입니다. 대학교 다닐때 배웠던 언어이긴 하지만, 스스로 필요에 의해 배우게되니 새로운 마음가짐이 듭니다. "C와 C++을 통시에 배워보자"라는 강좌이고, 빠르게 완강한 뒤, 개인적으로 게임이나 네트워크 관련 프로그램을 제작해보려고 합니다. 강좌리스트는 아래와 같고, 중간중간 유용한 내용이 있다면 정리하여 포스팅해두려고 합니다. 총 71개 강의 구성으로, 16시간 47분입니다. 입문 강좌로 대략적인 내용만 훑는 용도로 빠르게 넘어가겠습니다. 화이팅! 오리엔테이션00 – Visual Studio 설치 방법 00:04:00 입출력과 변수01 – Hello,..
[시스템프로그래밍] 파일과 디렉토리 유닉스에서 파일은 일반 파일과 특수 파일 그리고 디렉토리로 구분할 수 있습니다. 일반 파일은 텍스트 파일, 실행 파일 등 텍스트나 바이너리 형태의 데이터를 저장하고 있는 파일입니다. 유닉스에서 파일은 데이터를 저장하는 데는 물론, 장치를 구동하는 데도 사용합니다. 다른 파일과 달리 장치 관련 특수 파일을 장치 파일이라고도 합니다. 디렉토리는 해당 디렉토리에 속한 파일을 관리하는 특별한 파일입니다. 유닉스에서는 디렉토리도 파일로 취급합니다. 유닉스에서 파일은 파일명과 inode, 데이터 블록으로 구성됩니다. 파일명은 사용자가 파일에 접근할 때 사용합니다. inode는 외부적으로는 번호로 표시되며, 파일의 소유자나 크기 등 파일에 관한 정보와 파일의 실제 데이터를 저장하고 있는 데이터 블록의 위치를 나타내는..
[시스템프로그래밍] 고수준 파일 입출력 고수준 파일 입출력은 표준 입출력 라이브러리라고도 하며, C 언어의 표준함수로 제공됩니다. 저수준 파일 입출력은 바이트 단위로만 입출력을 수행하므로, 읽어들인 데이터를 가공하는 추가적인 작업이 필요합니다. 이와달리 고수준 파일 입출력은 문자 단위, 행 단위, 버퍼 단위, 형식 기반 입출력 등 편리한 기능을 제공하므로, 프로그램의 용도에 맞게 적당한 함수를 선택하면 됩니다. 파일 포인터저수준 파일 입출력에서는 열린 파일을 가리키는 데 파일 기술자를 사용하는 한편, 고수준 파일 입출력에서는 파일 포인터를 사용합니다. 파일 포인터는 디스크에서 메모리로 읽어온 파일의 위치(주소)에 관한 정보를 담고 있는 포인터입니다. 또한 파일 기술자는 정수형이지만, 파일 포인터는 시스템 헤더 파일에 정의되어 있는 FILE *..