빌드 예제 세 개의 소스파일을 컴파일하여 Object 파일을 생성하고, 이들을 한 데 묶는 링크 과정을 통해 실행 파일인 app.out을 생성한다. main.c 파일은 foo.h, bar.h를 참조한다. Makefile을 사용하지 않고 불편하게 빌드하기 1. 컴파일
윈도우에서는 C/C++ 파일을 컴파일 하기 위해 (대표적으로) Visual Studio를 사용한다.Visual Studio를 통해 컴파일을 하는 과정은 아래와 같다.프로젝트 유형(빈 프로젝트, 정적/동적 라이브러리, MFC, ...)을 선택하고 프로젝트를 생성한다.프로
현상 MFC 프로그램에서 A.dll을 사용하는데, Debug 모드로 빌드한 dll파일을 사용했을 때는 정상적으로 작동했으나 Release 모드로 빌드한 dll파일을 사용했을 때는 프로그램 실행중 강제 종료되는 현상 발생. 해결과정 Debug 모드에서는 정상적으로
현상 리눅스에서 64bit 공유 라이브러리(shared library) 빌드중 아래 에러가 발생. ** /usr/bin/ld: xxx.a(x.o): relocation RX8664_32S against '.rodata' can not be used when maki
문자 집합(character set)은 컴퓨터에서 문자를 표현하는 데 사용되는 일련의 코드로 문자와 이에 해당하는 숫자 코드 간의 매핑 방식을 정의한다. 즉, 문자를 컴퓨터가 이해할 수 있는 이진 데이터로 변환하는 규칙을 제공한다. 종류와 특성 SBCS SBCS(S
헤더 매직넘버는 P3헤더 최대값 항목은 명암도 등급을 나타낸다각 픽셀을 ASCII 형식의 3개의 십진수 값(R,G,B)으로 저장한다다음은 3x2 크기의 이미지를 표현하는 최대값이 255인 P3 파일이다.P33 2255255 0 0 0 255 0 0 0 255255 25
PGM (P2) 헤더 매직넘버는 P2 헤더 최대값 항목은 명암도 등급을 나타낸다 단일 비트 픽셀을 ASCII 형식의 하나의 값을 저장한다 다음은 5x8 크기의 이미지를 표현하는 P2 파일이다. P2 5 8 15 15 15 8 15 15 15 8 8 8 15 8 8
헤더 매직넘버는 P1헤더 최대값 항목은 없다 (흑백 두 가지 색상만 표현하므로 암시적으로 1)단일 비트 픽셀을 ASCII "0"또는 "1"로 저장한다 (0:흰색, 1:검정색)다음은 9x11 크기의 이미지를 표현하는 P1 파일이다.P19 110 0 0 0 1 0 0 0
1. Netpbm 이란 > Netpbm Netpbm (이전의 Pbmplus)은 그래픽 프로그램 및 프로그래밍 라이브러리의 오픈 소스 패키지입니다. 주로 Unix 세계에서 사용되며 모든 주요 오픈 소스 운영 체제 배포판에 포함되어 있지만 Microsoft Windows
자바 프로그램을 실행할 때 라이브러리 경로가 올바르게 설정되어 있지 않은 경우 java.lang.UnsatisfiedLinkError가 발생한다. java.library.path는 자바 프로그램이 라이브러리를 참조할 때 사용하는 경로이다. Java 정보 확인하기 윈
1. JNI란 Java의 장점중 하나는 JVM(가상머신) 위에서 실행되기 때문에 특정 운영체제에 종속되지 않는것이다. 운영체제에 맞는 JVM이 존재하기 때문에 Java로 코딩을 할 때는 운영체제에 상관없이 원하는 결과물을 얻을 수 있다. (JVM은 플랫폼에 상관없이 자
2~3일 동안 고생한 문제... 😕A프로젝트의 funcA 함수에서는 B.dll의 funcB 함수를 호출한다.문제는 funcB 함수가 호출된 이후 funcA 함수의 파라미터 였던 cpData, nDtaLen, nNum 변수들이 전부 NULL 또는 0으로 초기화 되는 것
A.lib(base64.obj) : error LNK2005: \_Base64_EncodeFile이(가) B.lib(base64.obj)에 이미 정의되어 있습니다.원래 C 프로젝트는(메인 프로젝트) A.lib 파일을 사용한다.A 프로젝트는 base64.h, base64
SEED-CBC 암복호화 라이브러리(KISA)를 적용하는 중 발생한 오류.A 프로젝트는 MFC를 이용해 SEED(CBC) 암복호화 생성기. (Visual Studio 2019, C++)B 프로젝트는 A 프로젝트로 생성한 SEED 암호문을 복호화. (Visual Stud
Java에서 getResourceAsStream 함수를 사용하여 resource파일을 읽는데, 파일의 경로는 정상적으로 넘어가나 계속해서 null이 리턴된다.함수의 매개변수로 넘어가는 경로(ex, com/abc/123.dat)를 보면 파일이 존재하지만 getResour
해상도 (DPM, DPI) 비트맵 정보 헤더(DIB)를 보면 biXPelsPerMeter, biYPelsPerMeter항목이 있다. 비트맵 이미지의 가로(세로) 해상도를 나타내는 값으로 DPM이라고 표현한다. DPM은 Dots Per Meter의 약자로 1미터 안에
TEST 1. 5x5 크기의 24비트 이미지 (격자 표시는 이해를 돕기 위한 표현입니다.) 비트맵 파일 헤더 파란색으로 표시된 부분이 비트맵 파일 헤더 (14byte) 이다. bfType 42 4D (BM) BMP 파일 식별자 bf
10x4 크기의 흰색 이미지 (격자 표시는 이해를 돕기 위한 표현입니다.)이 비트맵 파일을 Hex에디터로 열어보면 아래와 같다. 빨간색으로 표시된 부분이 비트맵 파일 헤더 (14byte) 이다.크기를 계산할 때는 '리틀 엔디안'으로 계산한다. 이후에는 리틀 엔디안을 직
사람이 이해할 수 있는 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 바꾸어 주는 과정소스 코드를 컴파일한 결과물을 목적 코드(Object Code) 또는 목적 파일(Object File) 이라고 한다.Java의 경우 컴파일의 결과로 JVM(자바 가상 머신)에서 실행
라이브러리는 프로그램을 개발하기 위해 사용되는 함수, 데이터, 자료형 등을 하나로 묶어 놓은 것 으로, 다른 프로그램들과 링크되기 위해 존재하며 코드 재사용 및 개발시간 단축을 위해 사용된다.라이브러리는 프로그램 빌드 시에 포함되는 정적 라이브러리와 실행 파일과 분리되