리눅스에서 C/C++ 컴파일 하기 (#2)

빌드 예제 세 개의 소스파일을 컴파일하여 Object 파일을 생성하고, 이들을 한 데 묶는 링크 과정을 통해 실행 파일인 app.out을 생성한다. main.c 파일은 foo.h, bar.h를 참조한다. Makefile을 사용하지 않고 불편하게 빌드하기 1. 컴파일

2023년 4월 27일
·
0개의 댓글
·

리눅스에서 C/C++ 컴파일 하기 (#1)

윈도우에서는 C/C++ 파일을 컴파일 하기 위해 (대표적으로) Visual Studio를 사용한다.Visual Studio를 통해 컴파일을 하는 과정은 아래와 같다.프로젝트 유형(빈 프로젝트, 정적/동적 라이브러리, MFC, ...)을 선택하고 프로젝트를 생성한다.프로

2023년 4월 14일
·
0개의 댓글
·

[C/C++] 컴파일러 최적화 (전체 프로그램 최적화)

현상 MFC 프로그램에서 A.dll을 사용하는데, Debug 모드로 빌드한 dll파일을 사용했을 때는 정상적으로 작동했으나 Release 모드로 빌드한 dll파일을 사용했을 때는 프로그램 실행중 강제 종료되는 현상 발생. 해결과정 Debug 모드에서는 정상적으로

2023년 4월 10일
·
0개의 댓글
·

JNI 사용하기 (기초)

1. JNI란 Java의 장점중 하나는 JVM(가상머신) 위에서 실행되기 때문에 특정 운영체제에 종속되지 않는것이다. 운영체제에 맞는 JVM이 존재하기 때문에 Java로 코딩을 할 때는 운영체제에 상관없이 원하는 결과물을 얻을 수 있다. (JVM은 플랫폼에 상관없이 자

2023년 2월 8일
·
0개의 댓글
·

[C/C++] DLL 함수 호출 후 변수가 초기화 되는 오류 (memset)

2~3일 동안 고생한 문제... 😕A프로젝트의 funcA 함수에서는 B.dll의 funcB 함수를 호출한다.문제는 funcB 함수가 호출된 이후 funcA 함수의 파라미터 였던 cpData, nDtaLen, nNum 변수들이 전부 NULL 또는 0으로 초기화 되는 것

2023년 1월 26일
·
0개의 댓글
·

[C/C++] error LNK2005: 이미 정의되어 있습니다. (빌드에서 제외)

A.lib(base64.obj) : error LNK2005: \_Base64_EncodeFile이(가) B.lib(base64.obj)에 이미 정의되어 있습니다.원래 C 프로젝트는(메인 프로젝트) A.lib 파일을 사용한다.A 프로젝트는 base64.h, base64

2023년 1월 19일
·
0개의 댓글
·

[C/C++] 잘못된 변수 선언 및 초기화

SEED-CBC 암복호화 라이브러리(KISA)를 적용하는 중 발생한 오류.A 프로젝트는 MFC를 이용해 SEED(CBC) 암복호화 생성기. (Visual Studio 2019, C++)B 프로젝트는 A 프로젝트로 생성한 SEED 암호문을 복호화. (Visual Stud

2023년 1월 19일
·
0개의 댓글
·

정적 라이브러리, 동적 라이브러리 (#1, Windows)

라이브러리는 프로그램을 개발하기 위해 사용되는 함수, 데이터, 자료형 등을 하나로 묶어 놓은 것 으로, 다른 프로그램들과 링크되기 위해 존재하며 코드 재사용 및 개발시간 단축을 위해 사용된다.라이브러리는 프로그램 빌드 시에 포함되는 정적 라이브러리와 실행 파일과 분리되

2022년 10월 31일
·
0개의 댓글
·