본문 바로가기
반응형

코딩취미/프로그램 지식61

네임 맹글링(Name Mangling)의 목적과 프로그래밍 언어별 사용 특징 네임 맹글링(Name Mangling)의 목적과 프로그래밍 언어별 사용 특징네임 맹글링(Name Mangling)은 주로 프로그래밍 언어의 컴파일러나 인터프리터에 의해 사용되며, 프로그래밍 언어의 내부 구조와 동작 방식에 깊이 관여하는 중요한 기능으로, 특히 객체 지향 프로그래밍에서 중요한 역할을 합니다. 이러한 네임 맹글링은 다음과 같은 목적으로 주로 활용됩니다.1. 컴파일러 내부에서의 함수 오버로딩 처리C++와 같은 언어에서 널리 사용됩니다.같은 이름의 함수가 여러 매개변수 타입이나 개수를 가질 때, 각각의 함수에 대해 고유한 식별자를 생성합니다.예: int add(int, int)와 double add(double, double)는 서로 다른 내부 이름을 가집니다.2. 클래스 멤버의 접근 제어Pyt.. 2024. 1. 19.
xml, json, yaml 의 특징과 사용방법 xml, json, yaml 의 특징과 사용방법XML, JSON, YAML은 모두 데이터를 저장하고 교환하는 데 사용되는 포맷입니다. 각 포맷은 특정 사용 사례와 요구 사항에 따라 선택됩니다. XML은 복잡한 데이터와 메타데이터를 표현할 때 유용하며, JSON은 웹 API와의 통신에 주로 사용됩니다. YAML은 가독성이 중요하거나 들여쓰기를 통해 계층적인 구조를 표현할 때 유리합니다.결국 선택은 데이터의 성격, 애플리케이션의 요구 사항, 개발자의 선호도에 따라 달라질 수 있습니다. 예를 들어, 인터넷을 통한 데이터 교환에는 JSON이 적합할 수 있으며, 설정 파일이나 내부 데이터 표현에는 YAML이 좋은 선택일 수 있습니다. XML은 이미 많은 시스템에서 사용되고 있으며, 복잡한 데이터 구조를 다루는 데.. 2024. 1. 17.
NOP (No Operation) 의 동작 개념과 실행 시간 NOP (No Operation) 의 동작 개념과 실행 시간NOP (No Operation)은 컴퓨터 프로그래밍 및 CPU 아키텍처에서 사용되는 명령어로, "아무것도 하지 마라"는 지시를 CPU에게 전달합니다. NOP (No Operation) 명령은 컴퓨터 프로그래밍과 CPU 아키텍처에서 중요한 역할을 합니다. 이 명령의 실행 시간은 주로 CPU의 클록 사이클과 속도에 의해 결정되며, 아키텍처 및 최적화 기술에 따라 달라질 수 있습니다. NOP 명령의 기본 개념정의와 목적:NOP는 "No Operation"의 약어로, CPU에게 아무런 작업도 수행하지 않도록 지시하는 명령입니다.이 명령의 주요 목적은 프로세서가 다른 중요한 작업을 진행하는 동안 시간을 지연시키거나, 코드 또는 데이터를 특정 방식으로 정.. 2024. 1. 11.
트렁크(trunk)/브랜치(branch)/태그(tag) 프로젝트 흐름 트렁크(trunk)/브랜치(branch)/태그(tag) 프로젝트 흐름트렁크(trunk), 브랜치(branch), 태그(tag)를 사용하는 프로젝트 관리 방법은 버전 관리 시스템, 특히 Git과 같은 분산 버전 관리 시스템에서 중요합니다. 이 방법론은 소프트웨어 개발 프로젝트의 구조화 및 관리를 용이하게 하며, 팀 작업의 효율성과 코드의 안정성을 높이는 데 기여합니다.  1. 트렁크(Trunk)정의: 트렁크는 프로젝트의 주 개발 라인입니다. 이는 항상 안정적인 상태를 유지해야 하며, 프로젝트의 최신 "작업 가능" 버전을 나타냅니다.사용 방법: 모든 주요 개발은 트렁크를 기반으로 시작됩니다. 새로운 기능이나 큰 변경이 필요한 경우, 트렁크에서 브랜치를 생성하여 작업합니다.목적: 트렁크는 항상 릴리스 가능한 .. 2024. 1. 10.
[ARM]Cortex-M3 Peripherals map : SysTick Timer 설정 방법 Cortex-M3 Peripherals map : SysTick Timer 설정 방법ARM Cortex-M3 마이크로컨트롤러에 내장된 SysTick 타이머는 시스템 레벨 타이머로, 주로 운영체제의 타이머 서비스나 단순한 지연(loop) 구현에 사용됩니다. 이 타이머는 프로그래밍이 간단하고 효율적인 인터럽트 기반 타이밍 기능을 제공합니다.1. SysTick 타이머의 특징24비트 다운 카운터: 24비트 리셋 가능한 다운 카운터로 구성되어 있습니다.선택 가능한 클럭 소스: 프로세서 클럭 또는 외부 클럭 소스 중에서 선택할 수 있습니다.자동 리로드: 0에 도달하면 자동으로 재설정되어 반복 카운트를 수행합니다.인터럽트 기능: 0에 도달할 때마다 인터럽트를 발생시킵니다.간단한 구성: 운영 체제의 타이머 서비스 구현.. 2024. 1. 6.
프로그래밍 코딩에 적합한 폰트 추천 : C++,C#,python 프로그래밍 코딩에 적합한 폰트 추천 : C++,C#,python프로그래밍 언어에 적합한 폰트를 선택할 때 고려해야 할 요소들이 있습니다. 이러한 요소에는 가독성, 고정 너비(모노스페이스), 구별이 용이한 문자 디자인 등이 포함됩니다. 다음은 몇 가지 인기 있는 프로그래밍 언어와 그에 적합한 폰트, 그리고 이를 실제 코드에 적용한 예시입니다. 코딩 폰트에서 고려할 요소들가독성 (Readability)프로그래밍은 종종 긴 시간 동안 코드를 읽고 분석하는 작업을 포함합니다. 따라서 폰트는 눈의 피로를 최소화하고 오랜 시간 동안 읽기 편안해야 합니다.예를 들어, Consolas는 명확하고 깨끗한 선으로 인해 C++ 같은 저수준 언어에서 복잡한 코드를 쉽게 구별하고 읽을 수 있게 해줍니다.고정 너비 (Fixed-.. 2024. 1. 5.
반응형