# C/C++
MinGW 사용 시 mbrtoc32, mbrtoc16 등 각종 함수 비정상 작동하는 경우.
MSCRT 대신 UCRT 사용하는 WinLibs 사용을 고려해본다.
JNI 사용하기 (기초)
1. JNI란 Java의 장점중 하나는 JVM(가상머신) 위에서 실행되기 때문에 특정 운영체제에 종속되지 않는것이다. 운영체제에 맞는 JVM이 존재하기 때문에 Java로 코딩을 할 때는 운영체제에 상관없이 원하는 결과물을 얻을 수 있다. (JVM은 플랫폼에 상관없이 자
[알고리즘/자료구조/C++(STL)] 스택(Stack) / 스택의 정의 / 기능
스택은 대표적인 FIFO(Fisrt In Last Out) 자료구조로, 한쪽 끝에서만 원소를 넣거나 뺄 수 있다.원소 추가/제거 O(1)제일 상단의 원소 확인 O(1)제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능하다stack STL을 사용하기 위해서는

[C/C++] stdio vs iostream
알고리즘 문제를 C/C++로 풀 때, 입출력 함수를 과연 C stdio vs C++ iostream 둘 중에 뭘로 쓸 것인가?실험의 발단은 이렇다."평소에 stdio를 즐겨 쓰던 필자는 과연 속도의 이점을 위해 iostream으로 갈아타야 하는가??"라는 궁금증이 생겨

병합 정렬 (merge sort)
합병 정렬 또는 병합 정렬은 O(n log n)의 비교 기반 정렬 알고리즘입니다. 일반적인 방법으로 구현했을 때 이 정렬은 안정 정렬에 속하며, 분할 정복 알고리즘의 하나입니다.
[C/C++] DLL 함수 호출 후 변수가 초기화 되는 오류 (memset)
2~3일 동안 고생한 문제... 😕A프로젝트의 funcA 함수에서는 B.dll의 funcB 함수를 호출한다.문제는 funcB 함수가 호출된 이후 funcA 함수의 파라미터 였던 cpData, nDtaLen, nNum 변수들이 전부 NULL 또는 0으로 초기화 되는 것
[C/C++] error LNK2005: 이미 정의되어 있습니다. (빌드에서 제외)
A.lib(base64.obj) : error LNK2005: \_Base64_EncodeFile이(가) B.lib(base64.obj)에 이미 정의되어 있습니다.원래 C 프로젝트는(메인 프로젝트) A.lib 파일을 사용한다.A 프로젝트는 base64.h, base64
[C/C++] 잘못된 변수 선언 및 초기화
SEED-CBC 암복호화 라이브러리(KISA)를 적용하는 중 발생한 오류.A 프로젝트는 MFC를 이용해 SEED(CBC) 암복호화 생성기. (Visual Studio 2019, C++)B 프로젝트는 A 프로젝트로 생성한 SEED 암호문을 복호화. (Visual Stud
[C/C++] 전처리기
본 포스팅은 \[C/C++] 비트 연산자과 연관되어있습니다. \[C/C++] 비트 연산자를 보지 않으셨다면 보고오시는것을 추천드립니다.전처리 과정을 먼저 거친 후 코드가 진행된다.define 전처리기를 사용하면?\-> 가독성 을 얻을 수 있다.\-> 유지 보수 에 용이
[C/C++] 비트 연산자
이전 포스팅 [[C / C++] 진법과 비트] (https://velog.io/@hwang_bbang/CC-%EC%A7%84%EB%B2%95%EA%B3%BC-%EB%B9%84%ED%8A%B8) 와 연결되는 포스팅이다. 보지 않았다면 보고오면 이해하는데 더 수월할 것이다
[C/C++] if-else구문, switch 구문
연산자 중에서도 if 문과 switch 문을 알아보자.두 구문다 각각의 장점이 있으니 때에 따라 적절히 사용한다면 보다 높은 가독성을 갖는 코드가 될 수 있다.switch 문 : 단일 변수의 값에 따라 2가지 이상의 상황이 나왔을 때 사용하면 편리하다.if-else

[프로젝트] BMP_Rle8Decompress_ImageProcessing(C/C++) 최종단계
이번 프로젝트의 목적으로써는 rle방식으로 압축된 8-bit gray-scale 영상에 대해서 압축 해제하고그 결과물을 이용하여 사각형 그리기, 색상 반전을 적용한 뒤이 결과를 저장할 수 있는 프로그램을 만드는 것이다. 이러한 목표를 위하여 rle 방식의 압축이 어떤

[프로젝트] BMP_Rle8Decompress_ImageProcessing(C/C++) 설계단계
본격적인 프로그램의 설계에 앞서 요구사항에 대해서 분석해보려고 한다. 소프트웨어의 요구사항에 대해서는 FURPS+모델에 의해 기능적 요구사항과 비기능적 요구사항으로 분류할 수 있다. 기능적 요구사항은 단어의 뜻 그대로 사용자에게 제공해야 하는 기능에 대한 요구사항을 의

[프로젝트] BMP_Rle8Decompress_ImageProcessing(C/C++) 계획단계
이번 프로젝트의 목적으로써는 rle방식으로 압축된 8-bit gray-scale 영상에 대해서 압축 해제하고 그 결과물을 이용하여 사각형 그리기, 색상 반전을 적용한 뒤이 결과를 저장할 수 있는 프로그램을 만드는 것이다. 이러한 목표를 위하여 rle 방식의 압축이 어떤

[C/C++] 진법과 비트
보수와 비트 개념을 배우기 전에 알아두면 이해하는데 많은 도움이되는 것에 대해 이야기해보려한다.한 자리를 표현할 때 그 자리가 어떤 수가 들어갈 수 있는지 정하는 것이다. 이렇게 이야기하면 이해하기 어려울 수 있으니 예시를 들면서 이어나가겠다. 우리는 10진법의 세계