본문 바로가기
728x90

코딩취미/C,C++24

ISO 26262 주요 특징과 소프트웨어 구성 요소 ISO 26262 주요 특징과 소프트웨어 구성 요소 ISO 26262는 자동차 분야에서의 기능 안전성에 관한 국제 표준입니다. 이 표준은 자동차 전기/전자 시스템의 개발 과정 전반에 걸쳐 기능 안전 요구사항을 정의하고 있으며, 자동차의 설계, 제조, 운영, 유지보수 단계에서 발생할 수 있는 잠재적 위험으로부터 사람을 보호하기 위한 지침을 제공합니다. 이번 포스팅에서는 관련된 내용 중에서 소프트웨어에 적용되는 부분을 집중적으로 정리했습니다. ISO 26262의 주요 특징 및 설명 ISO 26262는 자동차 산업 내 전기/전자 시스템의 기능 안전에 관한 국제 표준입니다. 이 표준은 자동차 개발의 모든 단계에서 발생할 수 있는 잠재적인 위험을 식별, 평가, 완화하기 위한 방법론을 제공합니다. ISO 26262.. 2024. 2. 16.
[c,c++] 함수 이름을 동적으로 생성해서 사용하기, 함수 이름 변경 호출 방법 10가지 함수 이름을 동적으로 생성해서 사용하기 함수 이름을 동적으로 생성하는 방법은 프로그래밍 언어와 컴파일러에 따라 다를 수 있습니다. 다음은 C 및 C++에서의 몇 가지 방법을 포함하여 10가지 방법을 나열합니다. 함수이름 동적 생성방법 10가지 1. 매크로와 ## 연산자 사용: #define FUNCTION_NAME(prefix, suffix) prefix##_function_##suffix void FUNCTION_NAME(print, int)(int value) { printf("Value: %d\n", value); } // 사용 FUNCTION_NAME(print, int)(42); 2. 함수 포인터 사용: #include typedef void (*FunctionPointer)(int); void.. 2024. 1. 6.
토큰 결합 연산자(##)의 정의와 종류 : 토큰연결, 문자열화, 매크로 토큰 결합 연산자의 정의와 종류 토큰 결합 연산자(##)는 전처리기에서 사용되며, 두 개의 토큰을 하나로 결합하는 역할을 합니다. 이 연산자는 매크로 정의에서 주로 사용되며, 매크로를 더 유연하게 사용할 수 있도록 합니다. 그리고 코드의 재사용성과 가독성을 향상시킵니다. 토큰 결합 연산자의 정의: 토큰 결합 연산자는 다음과 같이 정의됩니다. 정의에서 ##는 두 개의 토큰을 결합하는 연산자입니다. #define CONCATENATE(x, y) x##y 토큰 결합 연산자의 종류: Simple Token Concatenation (단순 토큰 연결): 가장 기본적인 형태의 토큰 결합입니다. 두 개의 토큰을 그대로 이어붙입니다. #define CONCAT(x, y) x##y int main() { int xy =.. 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 !define.. 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, .. 2024. 1. 3.
728x90