일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 외국인 노동자
- Python
- 개발자 이야기
- SQL
- bootstrap
- xml
- Eclipse
- mybatis
- JavaFX
- angularjs
- Ajax
- Apache
- Java
- webflux
- maven
- WebClient
- SQLite
- node.js
- Linux
- spring boot
- pdo
- javadoc
- 일본
- php
- jquery
- build tool
- gradle
- Spring
- RSocket
- swift
- Today
- 138
- Total
- 3,573,833
목록IT 개발/C언어 (75)
슬기로운 개발자 생활
C 언어 코드에 어셈블리 언어를 통합하는 방법을 제공한다. 어셈블리 언어는 컴파일러와 시스템에 의존하기 때문에 이 자리에서는 Microoft Visual C ++ 및 Intel x86 호환 프로세서를 전제로 코드 내에 어셈블리를 통합하는 방법을 설명한다.C 언어에 어셈블리 언어를 포함하기C 언어는 인간이 이해하기 쉬운 고급 언어로 분류되지만, 고급 언어 중에서는 매우 기계어에 가까운 존재이기도 한다. 따라서 저급 언어라는 기계어에 가까운 프로그래밍 언어인 어셈블리 언어와의 궁합도 좋다고 생각된다. 어셈블리 언어는 고급 언어와 달리, 기계어로 직접 번역할 수 있는 언어로 하나의 문장이 하나의 기계어로 대응하고 있다.현대에서는 대부분의 프로그래머가 어셈블리 언어을 사용하지 않게 되었고, 어셈블리 언어를 몰라..
C 언어로 1문자에 2바이트 이상을 요구하는 문자 집합을 처리하는 와이드 문자에 대해 설명한다. 와이드 문자에 사용되는 대표적인 문자는 Unicode이고, C 언어에서 Unicode와 같은 국제화 대응의 문자 집합을 처리하기 위해 와이드 문자가 사용된다.국제화 대응지금까지의 시대는 모든 컴퓨터에서 안정적으로 지원되는 문자 코드는 ASCII 코드 뿐이며, 영어 이외의 언어는 시스템에 의존하는 문제였다. 그러나 글로벌화가 진행되는 가운데 국제적인 소프트웨어 개발이 빈번하게 이루어지게 되면서, 지역마다 서로 다른 정보를 효율적으로 관리하는 방법이 요구되고 있다.그래서 국제적인 응용 프로그램을 개발하는 경우는 C 언어로 와이드 문자를 처리하는 방법을 학습해야 한다. char 형의 문자는 1바이트로 구성되기 때문..
C 언어의 표준 함수를 사용하여 적당한 값을 얻는 방법을 설명한다.랜덤 값 구하기많은 게임에서는 사용자가 예상할 수 없는 결과를 얻어야 한다. 또는 자연 과학 및 사회 과학 등의 시뮬레이션을 수행하는 프로그램에서도 일정하게 예기치 않은 변화를 준비해야 한다. 일반적으로 비즈니스 응용 프로그램은 필요하지 않겠지만, 프로그램의 종류에 따라서는 억지로 부정확한 결과를 산출해야 하는 경우도 있는 것이다.이것을 실현하려면 난수를 구해야 한다. 난수를 사용하기 위한 함수는 stdlib.h 헤더 파일에 선언되어 있다. 난수를 이용하면, 게임 프로그래밍은 물론, 반복 처리와 난수를 사용한 문제를 처리하는 몬테 카를로 방법(Monte Carlo method)이라는 수학 기법을 사용한 프로그램 등, 다양한 용도가 있을 수..
C 언어의 표준 함수를 사용하여 컴퓨터의 시간을 가져온다. 시간은 단순한 수치로 처리되어 있기 때문에, 날짜로 취급하려면 시스템의 로컬 시간으로 변환해야 한다.시간을 처리하기데이터 관리를 할 때, 시간은 중요한 존재이다. 예를 들어 정보가 업데이트 되었을 때는 프로그램 업데이트 로그를 남기는 등의 처리가 요구된다. 많은 시스템에는 시스템 시계가 있기 때문에 이용자에게 "지금의 시간을 입력하라"'고 묻는다 프로그램은 불친절하다. 프로그램은 지금 날짜를 알고 싶다면, 시스템 시계에서 시간을 산출한다.현재 시간을 얻거나, 새로 설정하는 프로그램을 만드는 경우 기본적으로 시스템에 문의해야 한다. 시스템이 지원하고 있는 시간 관련 기능을 최대한으로 발휘시키는 경우는 C 언어의 표준 함수에서만 지원할 수 있는 것이..
여러 문자열을 결합하거나 문자열의 일부를 다른 문자열을 삽입하는 것과 같은 작업은 문자열 작업을 수행 표준 함수를 사용한다.문자열을 추가 및 변환 처리일반적으로 많은 고급 언어는 직관적인 문자열 조작 기능을 제공한다. 인간의 감성을 생각하면 다음과 같은 문장은 문자열의 추가 처리인 것을 기대할 것이다."오늘은 " + 2017 + "년 "+ 11 + "월 " + 26 + "일 입니다" 이 수식은 여러 문자열과 숫자로 구성되어 있다. 고급 언어의 대부분은 식을 최종적으로 문자열로 변환한다."오늘은 2017년 11월 26일 입니다" 많은 프로그래머는 문자열의 덧셈 연산이 가능한 결과를 원할 것이다. 그러나, C 언어의 경우는 문자열 리터럴의 실체는 문자 배열이므로 배열의 앞에 포인터로 처리된다. 따라서 문자열..
파일의 시작 부분부터 데이터를 읽고 쓰는 방식을 순차 액세스라 하고, 임의의 위치로 이동하여 필요한 부분 만 읽고 쓰는 방식을 랜덤 액세스라고 한다. 여기에서는 표준 C 함수를 사용하여 파일의 임의의 위치에서 데이터를 읽고 쓰는 방법을 설명한다.임의의 위치를 읽어오기지금까지의 파일 읽기는 파일의 처음부터 끝까지 순서대로 진행되었다. 파일 함수를 사용하여 가져 오면 파일 위치는 다음 항목에 자동으로 진행되기 때문에, 파일의 시작부터 순서대로 입출력할 수 있었다. 스트림의 다음에 읽고 쓰는 대상의 바이트의 정보를 파일 포인터라고 한다.파일의 처음부터 순서대로 읽을 파일 형식을 시컨스 액세스라고 한다. 단순한 텍스트 데이터의 경우는 대부분이 순서대로 읽거나 기록하는데 매우 효율적이다. 그러나 바이너리 데이터의..
표준 C의 함수를 사용하여 텍스트가 아닌 순수 이진 수열의 데이터를 파일에 읽고 쓰는 방법을 설명한다.순수한 데이터fputs() 함수와 fgets() 함수는 텍스트 데이터의 입출력을 할 때에 편리했다. 또한 데이터의 변환을 하는 경우는 fprintf() 함수와 fscanf()가 편리하다. 그러나 이들은 ASCII 코드를 다루는 경우에는 편리하지만, 순수한 숫자 데이터를 입출력시키고 싶은 경우는 적절하지 않다. 텍스트가 아닌 원시 이진 데이터를 처리하려면이 함수는 사용할 수 없다.물론 방법의 하나로는 fprintf()와 fscanf()를 사용하여 텍스트 및 숫자의 변환을 채용할 수 있다. 저장할 때는 텍스트 데이터로 변환하여 로드할 때에 필요한 데이터는 숫자로 변환하는 것이다. 그러나 변환을 할 때 걸리는..
커멘드 출력과 키보드 입력은 표준 출력이나 표준 입력라는 특별한 FILE 구조체의 포인터로 정의되어 있다.기본 입출력지금까지 printf() 함수는 화면에 문자열을 표시하고, scanf() 함수는 키보드에서 문자열을 입력할 수 있다고 설명하였다. 이는 기본적으로 틀린 것은 아니지만 정확한 표현은 아니다. 입출력에 대해 제대로 이해하고 있는 기술자라면 "printf()는 표준 출력에 문자열을 출력하고, scanf() 함수는 표준 입력에서 문자열을 입력한다"고 표현할 것이다.실은 C 언어에서는 화면이나 키보드에 대한 데이터 입출력을 파일과 같이 조작할 수 있다. 앞전에 설명한 바와 같이 입출력은 모두가 스트림 개념으로 통일되어 있기 때문이다. 개발자는 문자열의 입출력을 파일에서도 화면에서도 네트워크에서도 동..