<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://han-joon-hyeok.github.io/</id><title>Dev Joon</title><subtitle>blog, jekyll, portfolio, github, 개발, TIL, 공부, 블로그,</subtitle> <updated>2026-03-15T18:36:24+09:00</updated> <author> <name>Joon Hyeok Han</name> <uri>https://han-joon-hyeok.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://han-joon-hyeok.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="ko-KR" href="https://han-joon-hyeok.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.3.0">Jekyll</generator> <rights> © 2026 Joon Hyeok Han </rights> <icon>/assets/images/favicons/favicon.ico</icon> <logo>/assets/images/favicons/favicon-96x96.png</logo> <entry><title>[Network] 엔디안 개념과 필요성</title><link href="https://han-joon-hyeok.github.io/posts/what-is-endianess/" rel="alternate" type="text/html" title="[Network] 엔디안 개념과 필요성" /><published>2026-03-04T10:30:00+09:00</published> <updated>2026-03-04T10:30:00+09:00</updated> <id>https://han-joon-hyeok.github.io/posts/what-is-endianess/</id> <content src="https://han-joon-hyeok.github.io/posts/what-is-endianess/" /> <author> <name>Joon Hyeok Han</name> </author> <category term="network" /> <summary> 엔디안 개념 멀티 바이트(2바이트, 4바이트, 8바이트) 데이터를 메모리에 저장할 때 어떤 순서로 저장할지 정의한 것 빅 엔디안(Big Endian): 큰 바이트(MSB, Most Significant Byte)가 메모리의 앞 주소(가장 낮은 주소)에 저장됨. 리틀 엔디안(Little Endian): 작은 바이트(LSB, Least Significant Byte)가 메모리의 앞 주소(가장 낮은 주소)에 저장됨. MSB는 가장 큰 값, LSB는 가장 작은 값으로 생각하면 된다. 0x12345678을 기준으로 생각하면, 0x12가 가장 큰 값을 가지고, 0x78은 가장 작은 값을 가진다. 1바이트는 16진수 2자리(00~FF)이다. Short는 2바이트, Long은 4바이... </summary> </entry> <entry><title>[리눅스마스터 1급] 리눅스 배포판 종류별 특징</title><link href="https://han-joon-hyeok.github.io/posts/linux-master-comparing-linux-distributions/" rel="alternate" type="text/html" title="[리눅스마스터 1급] 리눅스 배포판 종류별 특징" /><published>2025-11-29T23:30:00+09:00</published> <updated>2026-03-15T18:30:40+09:00</updated> <id>https://han-joon-hyeok.github.io/posts/linux-master-comparing-linux-distributions/</id> <content src="https://han-joon-hyeok.github.io/posts/linux-master-comparing-linux-distributions/" /> <author> <name>Joon Hyeok Han</name> </author> <category term="linux master" /> <summary> 배포판 계열 패키지 시스템 사용 용도 CentOS RHEL RPM/YUM 안정성 중심 Rocky RHEL RPM/DNF(YUM) 엔터프라이즈 서버 Debian Debian DEB/APT 안정성 중심 Ubuntu Debian 기반 DEB/APT 대중성, 데스크톱, 클라우드 CentOS (Community Enterprise Operating System) ... </summary> </entry> <entry><title>[C] typeof 개념 정리 (GNU 확장형 타입 추론)</title><link href="https://han-joon-hyeok.github.io/posts/understanding-of-typeof-in-c/" rel="alternate" type="text/html" title="[C] typeof 개념 정리 (GNU 확장형 타입 추론)" /><published>2025-11-02T21:20:00+09:00</published> <updated>2025-11-02T21:20:00+09:00</updated> <id>https://han-joon-hyeok.github.io/posts/understanding-of-typeof-in-c/</id> <content src="https://han-joon-hyeok.github.io/posts/understanding-of-typeof-in-c/" /> <author> <name>Joon Hyeok Han</name> </author> <category term="c" /> <summary> 개요 typeof는 GNU C 확장(GNU Extension)에서 제공하는 키워드로, 어떤 표현식이나 변수의 자료형(type)을 가져올 수 있게 해준다. 표준 C(ISO/IEC 9899)에는 포함되어 있지 않지만, GCC나 Clang처럼 GNU 확장을 지원하는 컴파일러에서는 널리 사용된다. 즉, typeof는 변수의 형(type)을 그대로 복사하는 기능이다. int a = 10; typeof(a) b = 20; // b는 int형이 된다. 이처럼 typeof는 컴파일 시점에 a의 형을 추론해서, b를 같은 형으로 선언한다. 문법 typeof(식) 식(expression) 안에는 변수, 상수, 연산 결과 등 아무 표현식이 들어갈 수 있다. 컴파일러는 해당 식의 자료형을 추론... </summary> </entry> <entry><title>[C언어] 자료형 크기 차이로 인한 비트 연산 오류 해결 방법</title><link href="https://han-joon-hyeok.github.io/posts/c-bitwise-operation-between-different-integer-sizes/" rel="alternate" type="text/html" title="[C언어] 자료형 크기 차이로 인한 비트 연산 오류 해결 방법" /><published>2025-10-17T09:40:00+09:00</published> <updated>2025-10-26T19:56:54+09:00</updated> <id>https://han-joon-hyeok.github.io/posts/c-bitwise-operation-between-different-integer-sizes/</id> <content src="https://han-joon-hyeok.github.io/posts/c-bitwise-operation-between-different-integer-sizes/" /> <author> <name>Joon Hyeok Han</name> </author> <category term="c" /> <summary> 개요 C언어에서 서로 다른 크기를 가진 자료형을 비트 연산할 때 발생할 수 있는 문제와 해결 방법을 정리했다. 이 글은 “C언어 매크로 재정의 오류 원인과 해결 방법”의 후속 글이다. 문제 상황 AND 연산을 수행하는 매크로 함수에서, 매개변수의 자료형 크기 차이로 인해 의도치 않게 상위 32비트가 소실되는 문제가 발생했다. #define AND_BIT_OPERATION(a, b) ((a) &amp;amp;= ~(b)) 이때 사용된 비트 상수는 다음과 같다. (0번째 비트는 가장 우측에 있는 비트를 의미한다.) // 32비트 크기 (BIT_31) #define BIT_31 0x80000000 // 64비트 크기 unsigned long long data = 0xFFFFFFFFFFFFFFFFUL... </summary> </entry> <entry><title>[C언어] 매크로 재정의 오류 원인과 해결 방법 (GCC 전처리기 기준)</title><link href="https://han-joon-hyeok.github.io/posts/gcc-macro-redefined-error-fix/" rel="alternate" type="text/html" title="[C언어] 매크로 재정의 오류 원인과 해결 방법 (GCC 전처리기 기준)" /><published>2025-10-14T14:40:00+09:00</published> <updated>2025-10-14T14:40:00+09:00</updated> <id>https://han-joon-hyeok.github.io/posts/gcc-macro-redefined-error-fix/</id> <content src="https://han-joon-hyeok.github.io/posts/gcc-macro-redefined-error-fix/" /> <author> <name>Joon Hyeok Han</name> </author> <category term="c" /> <summary> 실행 환경 OS: Ubuntu 22.04 Architecture: x86_64 (64-bit) GCC: 11.4.0 요약 동일한 이름의 매크로를 서로 다른 방식으로 정의하면 GCC 전처리기가 두 매크로를 동일하지 않은 토큰으로 판단해 redefined 오류가 발생한다. 안전하게 프로그램을 설계하려면 #ifndef 전처리기 사용 또는 헤더 파일 정의 원칙을 지키면 해결 가능하다. 문제 상황 make를 이용해서 컴파일을 수행하던 중, 매크로 상수가 재정의(redefined)되었다는 오류가 발생했다. Compiling debug.c debug.c:667:1: error: "BIT_0" redefined In file included from include/sys_include.h:... </summary> </entry> </feed>
