본문 바로가기
반응형

코딩취미/C,C++34

토큰 결합 연산자(##)의 정의와 종류 : 토큰연결, 문자열화, 매크로 토큰 결합 연산자의 정의와 종류토큰 결합 연산자(##)는 전처리기에서 사용되며, 두 개의 토큰을 하나로 결합하는 역할을 합니다. 이 연산자는 매크로 정의에서 주로 사용되며, 매크로를 더 유연하게 사용할 수 있도록 합니다. 그리고 코드의 재사용성과 가독성을 향상시킵니다. 토큰 결합 연산자의 정의:토큰 결합 연산자는 다음과 같이 정의됩니다. 정의에서 ##는 두 개의 토큰을 결합하는 연산자입니다. #define CONCATENATE(x, y) x##y 토큰 결합 연산자의 종류:Simple Token Concatenation (단순 토큰 연결):가장 기본적인 형태의 토큰 결합입니다. 두 개의 토큰을 그대로 이어붙입니다.#define CONCAT(x, y) x##yint main() { int xy = 42.. 2024. 1. 5.
C#과 C++의 주요 차이점 5가지 비교 정리 C#과 C++의 주요 차이점 비교 정리C#과 C++은 모두 널리 사용되는 프로그래밍 언어지만, 주요 차이점이 있습니다. 이 차이점을 분석하고 이해하는 것은 각 언어의 장단점을 이해하는 데 중요합니다. 1. 개발 환경 및 용도C++은 저수준 프로그래밍에 더 적합한 언어로, 시스템 프로그래밍, 게임 개발, 임베디드 시스템 등에 널리 사용됩니다.C#은 마이크로소프트의 .NET 프레임워크에 최적화되어 있으며, 주로 윈도우 기반의 애플리케이션, 웹 서비스, 데스크톱 애플리케이션 개발에 사용됩니다. 2. 메모리 관리C++에서는 개발자가 직접 메모리를 할당하고 해제해야 합니다.int* myArray = new int[10]; // 메모리 할당// 배열 사용...delete[] myArray; /.. 2024. 1. 4.
[c,c++] #ifndef 과 #if !define()의 차이점 #ifndef 과 #if !define()의 차이점#ifndef과 #if !defined()은 모두 전처리기 지시어로, 매크로의 정의 여부를 확인하는 데 사용됩니다. 그러나 두 지시어의 사용 방법에는 약간의 차이가 있습니다.#ifndef의 특징:읽기 쉽고 간결: #ifndef은 "만약 정의되어 있지 않다면"이라는 의미로 자연스러운 문법을 가지고 있습니다. 코드가 더 읽기 쉽고 간결할 수 있습니다.전통적인 사용: #ifndef은 전통적으로 많은 코드베이스에서 사용되어 왔기 때문에 익숙한 문법입니다.#ifndef 예제:#ifndef DEBUG_MODE#define DEBUG_MODE#endif#ifdef DEBUG_MODE// 디버그 모드에서 수행되는 코드#endif #if !defined()의 특징:더 유.. 2024. 1. 4.
[c,c++] 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산 비트마스크 생성방법, 매크로 전처리기 ## 토큰결합연산전처리기 토큰 결합 연산자 활용 : 예) 비트마스크 생성 토클 결합 연산자를 사용하면 매크로의 유연성을 향상시키고, 다양한 설정에서의 코드 재사용성을 높일 수 있습니다. 이는 특히 큰 프로젝트에서 설정 및 조건에 따라 동적으로 코드를 생성해야 할 때 유용합니다. #define BIT_NAME_MSK(PeriName,RegName,BitName) (PeriName##RegName##BitName##Msk) BIT_NAME_MSK(A, B, C)를 호출하면 매크로는 다음과 같이 동작합니다:PeriName은 A로 대체됩니다.RegName은 B로 대체됩니다.BitName은 C로 대체됩니다.따라서 위의 매크로 정의에 따라 BIT_NAME_MSK(A, B, C).. 2024. 1. 3.
[MFC] Ribbon 구조 정의 XML 및 XML 정렬 사이트(Formatted XML) XML 로 정리된 문서의 내용을 수정해야하는데, 기존 문서에서 띄어쓰기나 줄바꿈 같은 정렬을 하지 않은 상태였습니다.도저히 그상태로는 내용 파악이 어려워서 보기 좋게 변환해주는 사이트를 찾아서 사용했습니다. 사용하려고 했던 파일의 형태 해석이 어려워서 XML formatter 기능이 있는 사이트를 이용했습니다. 이걸 이용하니 해석하기 한결 수월해져서 작업속도가 빨라졌습니다.  MFC의 Ribbon 구조 정의이 XML은 MFC의 Ribbon 구조를 나타내는 것으로, 각 요소(Element)는 버튼, 카테고리, 패널 등을 정의하고 있습니다. 1 RibbonBar TRUE TRUE TRUE TRUE .. 2023. 12. 23.
[MFC] ribbon.mfcribbon-ms 리소스 xml 편집 : RibbonBarEditor, Application Buttion 수정관련 기존에 개발된 MFC GUI 변경요청으로, Application Button/윈도우스타일/퀵메뉴를 수정하는 일이 생겼습니다.기본적으로 Application Button을 안보이게 하는 것은 간단한 코드로 해결될 것이라고 생각했는데,코드로 해결이 되지 않아서 좀 더 확인해보니 리소스를 로드해서 적용하는 방식으로 구성이 되어있었습니다.다음은 그런 과정을 거쳐서 변경한 내용에 대한 정리입니다. 방법1 : 상단의 Application Button & 퀵 메뉴 숨기기MFC에서 상단의 Application 버튼과 퀵 메뉴를 보이지 않게 하는 방법은 주로 메인 프레임 윈도우의 초기화 코드에서 해당 요소들을 숨기는 것입니다. // 예제 코드에서는 CMainFrame 클래스를 기준으로 작성되었습니다.// 만약 다른 윈도.. 2023. 12. 22.
반응형