본문 바로가기

소프트웨어 개발(SW Dev)50

Visual Studio Code에서 C 소스코드 컴파일 VS Code IDE에서 C컴파일 환경을 설정해서 수행한 결과   사용한 Add - on 프로그램 2024. 6. 11.
CERT C 규칙 카테고리 설명 CERT C 코딩규칙 카테고리를 정리하고 있습니다. 1. CERT C Coding Standard 문서에 포함된 규칙 카테고리 "Carnegie Mellon University" 배포하고 있는 "SEI CERT C Coding Standard Rules for Developing Safe, Reliable, and Secure Systems-Carnegie Mellon University(2016)" 문서에서 설명하고 있는 코딩규칙 카테고리 입니다. 표준 문서에 포함된 규칙 카테고리는 다음과 같습니다. Preprocessor (PRE) - 전처리기 프로그램의 가독성을 향상시키고 오류 가능성을 줄이기 위한 내용을 다루는 카테고리입니다. 이러한 규칙들은 C 프로그래밍 언어를 사용할 때 안전하고 효율적인 코드.. 2024. 3. 7.
Type-punning Type-punning은 어떤 변수가 있을 때, 그 변수의 실제 값을 무시하고 형 변환 없이 다른 자료형으로 변환하는 것을 가리킵니다. 변환된 값은 메모리 상에서 원래 값과 똑같은 비트열로 표현되게 됩니다. 예를 들어, C에서 다음과 같은 코드를 고려해 봅시다: int i; i = 0x42f74000; printf("%f\n", *(float *)&i); // type punning 소스 코드를 실행하면 "123.625000"이 출력됩니다. 이 경우, 변수 i의 값은 0x42f74000인데, 이를 정상적인 형 변환으로 float 형으로 바꾸면 1.12350003e9라는 값이 나옵니다. 하지만 위와 같이 하면 형 변환이 일어나는 것이 아니라 int 형으로 표현된 변수 i를 막바로 float 형으로 읽어 들.. 2024. 3. 4.
SIMD (Single Instruction Multiple Data) "SIMD (Single Instruction Multiple Data)"는 하나의 명령어로 여러 개의 데이터를 동시에 처리하는 기술입니다. 이는 벡터 연산이라고도 불립니다. SIMD는 CPU에서 지원되는 명령어 세트를 사용하여 동일한 형태/구조의 여러 데이터를 한 번에 처리하는 병렬 처리 기법을 말합니다. 현재 Intel, AMD, ARM CPU에서 아키텍처 모델에 따라 SIMD 기능을 지원하고 있습니다. 예를 들어, 4개의 32비트 정수 A0, A1, A2, A3와 4개의 32비트 정수 B0, B1, B2, B3를 각각 덧셈 연산한다고 가정해 보겠습니다. SIMD 연산에서는 총 1번의 연산으로 각각 32비트 정수 간의 덧셈을 수행할 수 있습니다. 이는 기존의 SISD(Single Instruction.. 2024. 3. 4.
728x90