SW 그리고 아빠 엔지니어링 중...

아는 만큼 보이고, 경험해봐야 알 수 있고, 자꾸 써야 내 것이 된다.

플랫폼, OS, Compiler 7

[compiler] MinGW 환경에서 C++20 lib 사용 시 컴파일 에러 해결

C++20에 포함되어 있는 lib를 사용하려고 -std=c++20 옵션을 넣고 컴파일을 했더니 에러가 발생하였는데 그 해결방법을 찾아보자. C++20 lib 사용 시 컴파일 에러 에러메시지에 나와있듯이 -std=c++2a로 유도를 하고 있어서 컴파일 옵션을 변경 후 다시 컴파일을 해보았다. 구글링을 했을 때는 이렇게 해결된 글을 봤는데 나의 경우에는 여전히 해결이 안 되었다. 에러 원인 파악 에러 내용 자체는 간단하다. 컴파일러가 해당 lib를 지원(포함) 하지 않는 것이다. 우선 자신이 가지고 있는 버전확인을 해보자. (이전에도 컴파일 에러가 나서 MinGW를 새로 설치를 했는데 그때 설치한 버전이 gcc version 8.1.0였다.) https://jabdon4ny.tistory.com/75#버전확..

컴파일러 별 표준 C++ 지원 사이트 👍

최근 컴파일러 별 표준 C++ 지원 내용을 정리한 사이트를 찾아서 재 업데이트 한다. 짱 좋음╰(*°▽°*)╯ GCC 는 C++에 어디까지 지원하고 있을까? 위 해결방법을 찾기 전에 멀티쓰레드를 C++11부터 지원을 하는데 내가 가지고 있는 gcc가 지원하지 않을 수도 있다는 생각에 알아보니 C++11은 GCC 4.8.1 부터 전체 사양을 지원하고 있었고, 내가 가지고 있는 gcc 버전에는 포함되어 있었다. (확인한 내용과는 조금 다르긴 한데 https://en.cppreference.com/ 에서 GCC 가 C++ 어디까지 지원하는지 확인이 가능하다.) C:\Users\admin>gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=d:/m..

VS에 메크로 인자 warning 을 error 로 발생시키는 방법

이상하다 분명히 PC에서 실행해 봤을 때는 에러도 없고 잘 동작했었는데... 억울하다. 플랫폼 빌드를 했는데 빌드에러가 발생했다. xxx.cpp : xxx:xx: error : 'foo' was not declared in this scope 이 에러가 발생하는 원인을 구글링을 하면 (아 이제는 chat GPT에게 물어봐야 하나?) 에러 메시지 그대로 xxx.cpp 에는 foo 가 선언되어 있지 않아 발생한 에러이지만 다양한 원인에 의해 해결방법이 나온다. 이 글에서는 여러 원인 중 함수의 foo() 인자 개수가 달라서 위 에러가 발생하는 경우를 잠시 얘기하고자 한다. xxx.cpp 파일 내에 foo(int a, int b) 함수가 정의되어 있는데 foo(1, 2, 3)로 호출하면 위와 같은 에러가 발생..

raspberryPI에 vscode 로 원격 접속실패

최근 vscode 로 raspberryPI에 원격 접속해서 작업하는 방법을 알게되어 집에 굴러다니는 raspberry PI 에 접속을 해보았다. [03:20:38.686] Unsupported architecture [03:20:38.687] Resolver error: Error: 원격 호스트의 아키텍처가 지원되지 않습니다. 실컷 환경 셋팅을 했더니 안된다니 ㅜㅜ vscode 공식 사이트에서 확인해보니, 최소 메모리 1GB 이상 이어야 하고 그 이상의 사양인 Raspberry PI 4를 권장한다고 한다. System requirements VS Code is supported on these Raspberry Pi models running a 32-bit or 64-bit version of Rasp..

Linux 의 이해(작성중)

OS 가 하는 일1) 사용자 application 관리 2) HW 자원관리 (cpu, RAM, disk 등등) OS 의 구성1) Core 부분 : Process Management, Memory Management, irq(interrupt request), exception 처리, locking 2) I/O 처리 : 네트워크, 스토리지(VFS / FS / Block) 3) 기타 : security, tools, sounds, ... 리눅스도 C 프로그램과 같다.file 명령을 통해서 linux 도 a.out 이 같은 C 프로그램임을 알수 있다. 확인해 볼 것 : 리눅스에서 hello world 를 찍은 a.out 과 리눅스 프로그램 ELF 임을 알수 있다. CPU Memory 기본구조와 실행과정저장소 ..

320x100