2021/01 3

MPFR 라이브러리를 이용하여 Gamma 함수값 계산하기

Visual Studio 2019 와 MSYS2 MinGW64 에서 테스트 된 소스입니다. 혹시 MinGW 에서 컴파일되지 않으면 $ packman -S mpfr 명령으로 mpfr 라이브러리를 설치하고 컴파일하면 된다. // Filename: calcGammaFn.c // // Compile: gcc -o calcGammaFn calcGammaFn.c -lmpfr -lgmp // Execute: ./calcGammaFn // Or // Compile: cl calcGammaFn.c /I. mpfr.lib // Execute: calcGammaFn // // Date: 2021.01.28 #include #include // for log(10) #include int main() { mpfr_t x; i..

프로그래밍/C 2021.01.28

utf8 인코딩을 이용한 다국어 hello world

C 언어 또는 C++ 언어에서는 문자열 인코딩을 처리할려면 무척 애을 먹는다. 반면에 Java 언어나 Python 언어에서는 문자열 인코딩 문제가 일치 감치 해결되어 있으므로 조금만 주의하면 별 어려움이 없다. 우선 간단한 Python 소스를 보자. # -- coding: utf=8 -*- greetings = [ "Hello~", # English "안녕하세요?", # Korean "んにちは。", # Japanese "您好!" # Chinesse ] for msg in greetings: print(msg) """ Output: Hello~ 안녕하세요? んにちは。 您好! """ 위의 소스를 저장할 때 utf8 인코딩으로 저장하면 실행 시에 터미널 환경의 문자셋 여부에 상관없이 정상적으로 잘 출력된다, ..

프로그래밍/C++ 2021.01.23

C++ 에서 C 함수를 불러 사용하기

일반적으로 C 언어로 작성된 함수를 C++ 언어에서 불러 사용하려면 extern "C" 라는 키워드가 필요하다. C 언어의 함수 정의를 ****.h 라는 헤더 파일에 기록해 두고 이 헤더 파일응 C++ 소스에서 포함(include)하려면 몇 가지 주의할 점이 있다. 우선 함수의 정의가 있는 C 소스와 C 언어용 헤더 파일을 보자. [(구현) 파일명: sayHello.c] ------------------------------------ #include void print_message(char *message) { printf("%s\n", message); } 위는 print_message(char *) 라는 함수 하나만 달랑 구현되어 있는 C 소스 파일이다. [(정의) 파일명: sayHello.h] ..

프로그래밍/C++ 2021.01.07