본문 바로가기

반응형

VEDA 복습/C, C++

(21)
VEDA 61일차 - ARM 시장에서 자주 사용되는 칩은 M3, M4, M7 정도이다. (M4가 제일 많이 사용되는 것 같다.)arm 보드 내부 gpio 구조 => 0V ~ 3.3V 내 범위를 유지할 수 있도록 도와준다. HAL(Hardware Abstract Layer) 라이브러리 : 하드웨어 아키텍처와 상관없이 일정한 형태로 하드웨어를 동작시킬 수 있다. SP : 스택 포인터LR : 링크 레지스터, 함수를 수행하고 다시 돌아올 주소PC : 프로그램 카운터 인터럽트는 일반적으로 하드웨어에 의해 발생한다. 그 것과 별개로 STM32 MCU는 소프트웨어에 의한 인터럽트를 지원한다. HAL 라이브러리를 사용한 printf() => 여기서 막힘... 차후에 해볼 예정
VEDA 60일차 - ARM architecture ARM(Advanced RISC Machine) - 현재 모바일 디바이스의 대부분의 CPU가 ARM 계열이다.v1v2v3---------------------------------v4 ARM7 - 안성기폰v5 ARM9 - 이효리폰v6 ARM11 - 김연아폰--------------------------------- embeddedv7 cortex A.R.M - A(cortex-A : Highend(iphone, galaxy)), R(cortex-R : middle), M(cortex-M, M1, M3, M4 ... - Lowend(쿠쿠, 장난감, ...))-----------------------------..
VEDA 32일차 - 라이브러리 제작+GDB 약간의 Makeexplicit rule과 implicit rule의 경함항상 explicit rule이 impicit rule에 우선한다. make 함수문자열 함수텍스트를 조작 (치환, 분할, 결합 등)파일 이름 함수경로, 확장자 등 파일 이름 처리조건 함수조건에 따라 값 선택반복 및 리스트 함수반복문, 리스트 처리부가 기능 함수셸 명령 실행, 오류 발생 등 subst용도: 문자열 내에서 서브스트링(substring)을 치환합니다.형식: $(subst 찾을문자열, 바꿀문자열, 대상문자열)patsubst용도: 패턴 매칭에 기반하여 치환합니다.형식: $(patsubst 패턴, 대체문자열, 대상문자열) strip용도: 문자열 양쪽 끝의 공백을 제거합니다.형식: $(strip 문자열)파일 이름 처리 함수 (Fi..
VEDA 31일차 - Makefile samba : 표준 윈도우와 상호 작동하는 리눅스, 유닉스용 프로그램 - SMB/CIFS 프로토콜을 사용하는 클라이언트들이 파일 및 인쇄 서비스를 이용할 수 있는 프로그램(서로 다른 파일 시스템을 사용하는 기기 간에 중계 역할) sudo apt-get install samba 아직 리눅스 환경에 익숙하지 않은 사람들을 위해서 사용이번 주 목표!! : 리눅스 환경에 익숙해지기 - 리눅스 구조, 명령어, vi, make, cmake, gdb 정도는 알아두기!! 1. make - 자동화 도구 helloworld: @echo HelloWorld!hello: @echo helloworld: @echo world hello가 up to date라고 나오는 이유는 이미 he..
VEDA 18일차 ~ 20일차 : Qt 프로그래밍 실습 위주다 보니, 산발적이여서 별도로 정리할려고 한다. Chat GPT롤 활용했다. Qt 플레임워크 : C++ 기반 크로스 플랫폼 애플리케이션 프레임워크로 GUI 어플리케이션 제작에 주로 활용됨 Qt의 주요 구조QtCore : 비 GUI 관련 핵심 기능을 제공, 이벤트 루프, 신호-슬롯 메커니즘, 문자열 처리, FILE IO, 멀티 쓰레드 처리 등QtGui : GUI 요소를 그리기 위한 기능을 제공, 이벤트 처리, 2D 그래픽 처리, 텍스트 렌더링, 이미지 처리 등, QPainter, QPixmap, QImage 등이 포함된다.QtWidgets : 실제 GUI 위젯(버튼, 라벨, 윈도우 등)을 제공하는 모듈, QWidget, QMainWindow, QPushButton, QLabel 등 다양한 UI 요..
VEDA 17일차 - Qt 프로그래밍 자료구조Linked List : 값 + 다음 값의 주소Dictionary : 키 + 값, 내부적으로 키 값이 정렬되어 있어서 탐색에 용이 Component를 사용하는 방법Main이  되는 위젯 -> 컴포넌트 생성 -> 컴포넌트 설정 -> connect(컴포넌트 객체, 조건 동작, 리턴 객체 주소, 동작 함수) std 라이브러리와 Qt 라이브러리는 호환된다.사용법도 유사하다. signal : slot = n : n 강의가 기본적으로 실습 위주로 진행되서 이론적으로 정리할게 별로 없음
VEDA 16일차 - Qt 주로 실습 위주로 진행됨 QtGUI 개발을 위한 클로스 플랫폼 프레임워크(윈도우, 리눅스, 안드로이드 등 지원)Qt Creator, Qt DesignerQML(Qt Meta-Objecct Language) Qt의 장점 : C++ 지원, 크로스 플랫폼 호환, 풍부한 커뮤니티와 사용자 윈도우 환경에서 GUI 개발 : WPF, WinUI3, Node.js, PyQt etc 트리구조 : 모든 2차원 문서, UI는 트리 구조로 나타낼 수 있음(위젯 -> UI) 이벤트 기반함수를 직접 호출하지 않고,, 특정한 조건에서 호출될 수 있도록 전달함수 자체를 변수화, 메타 프로그래밍call-back, signal-slot(Qt에서 callback 방식) Qt 라이브러리를 사용해보자!!  위젯 생성 -> connect() ..
VEDA 14일차 - C++ 알고리즘C++에서 자주 사용되는 알고리즘을 라이브러리로 제공된다. 컨테이너와 상관없이 독립적으로 작용한다.정렬, 검색, 변환, 반복자, 집계 등 관련 알고리즘 제공 정렬 알고리즘quick sort : std::sort(begin, end, compare) ;worst : O(n^2)average : O(nlogn) 안정 정렬/불안정 정렬 : sort 순위가 같을 때 바꾸느냐, 바꾸지 않느냐의 차이 탐색 알고리즘std::find(first, end, target) : target의 위치를 찾아서 반환, iterator 형식std::binary_search(first, end, target) : 정렬되어 있는 상태에서 탐색 가능, 빠른 속도 모던 C++범위 기반 for 문자료형 추론 auto, declyty..

반응형