본문 바로가기

C언어

(2)
Microsoft, Outlook SMTP Auth 2.0인증 (Device Code Flow) (1) Outlook에서 더 이상 SMTP를 일반 베이직 인증으로 지원하지 않는 문제가 발생했습니다.Auth 2.0을 통한 로그인이 필수로 되었고 이를 위해 Access 토큰을 발급 받아야 합니다. 먼저는 Microsoft 계정이 기본 준비물입니다.Microsoft Azure Admin center로 접속하여 어플리케이션을 등록해야합니다. Microsoft Entra admin center aad.portal.azure.com 앱 등록 사이드 탭으로 이동 > 새 등록  다음과 같이 어플리케이션 세부 설정 후 등록하는 과정을 거칩니다. 새로이 만들어진 어플리케이션을 클릭해보면 Client ID, 테넌트 ID가 생성된 것을 확인할 수 있습니다. 이 두개는 API 요청에 필요한 파라미터임으로 뒤에서 활용됩니다. Mi..
C언어 __attribute__(pack), 구조체 정렬 바이트 패딩과 attribute((packed))에 대한 이해C언어에서 구조체를 다룰 때구조체의 크기(Size)는 단순히 각 멤버 변수들의 크기를 더한 값으로 결정되지 않습니다.이는 바이트 패딩이라는 개념 때문입니다. 이번 글에서는 바이트 패딩과 이를 피할 수 있는 방법인 attribute((packed))에 대해 알아보겠습니다.바이트 패딩이란?구조체를 구성하는 멤버 변수들은 메모리에 연속적으로 저장됩니다.그러나 컴파일러는 사용자 환경(32비트, 64비트)에 따라 성능 최적화를 위해멤버 변수들 사이에 추가적인 빈 공간(패딩)을 삽입할 수 있습니다. 이 패딩은 데이터 접근 속도를 높이기 위한 것으로1바이트씩 계산하는 것보다 4바이트(32비트 환경), 8바이트(64비트 환경) 단위로 처리하는 것이컴파일러 입..