Skip to content

YoungHaKim7/cpp23_26_project

Repository files navigation

link


CPLUS_INCLUDE_PATH이걸 해줘야 C++26이 된다.|🔝|

export CPLUS_INCLUDE_PATH=$PREFIX/$HOST/include/c++/$GCCVERSION:$PREFIX/lib/gcc/$HOST/$GCCVERSION/include
  • fishshell
set -x CPLUS_INCLUDE_PATH "$PREFIX/$HOST/include/c++/$GCCVERSION:$PREFIX/lib/gcc/$HOST/$GCCVERSION/include"

gcc15최신판 다 설치하고 gcc-15 default로 만들기|🔝|

sudo update-alternatives --install /usr/bin/gcc gcc /opt/gcc-15/bin/gcc 100
sudo update-alternatives --install /usr/bin/g++ g++ /opt/gcc-15/bin/g++ 100

cmake 최신판 설치|🔝|

./bootstrap && make && sudo make install

Cmake업데이트 하기[🔝]

Cmake option옵션 설정[🔝]

C++ 26최신뉴스 모음|🔝|

  • 250428
  • GCC 15는 C++26 기능을 대거 추가했으며, 일부 C++23 기능도 개선했음
  • 주요 추가 기능은 Pack Indexing, Variadic Friends, 삭제 이유 명시, 구조적 바인딩 조건문
  • 새로운 컴파일러 옵션과 경고들도 도입되어 개발자 경험이 향상됨
  • C++ 모듈 지원이 강화되었고, 템플릿 컴파일 속…

gcc최신정보 및 다운로드 받기|🔝|

최신 LLVM설치(clang)|🔝|

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh <version number>

clang-format-20설치방법|🔝|

wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
sudo apt install clang-format-20
$ cmake -S llvm -B build -G Ninja \
	-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
 	-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
	-DLLVM_USE_LINKER=mold \
	-DCMAKE_BUILD_TYPE=Release \
	-DCMAKE_C_COMPILER=clang \
	-DCMAKE_CXX_COMPILER=clang++
$ cd build
$ cmake --build . --target install

C++26: The Next C++ Standard | by Rainer Grimm이 사람이 최고|🔝|


Code Generation in Rust vs C++26 | Posted Sep 30, 2024 Updated Oct 4, 2024 | By Barry Revzin|🔝|


C++23 tutorial|🔝|

C++ Weekly - Ep 323 - C++23's auto{} and auto()

gcc command

g++ -std=c++2b -Wpedantic -Wall -Wextra -Wconversion -O3 -Werror -o main main.cpp

./main

C++23|🔝|

https://en.m.wikipedia.org/wiki/C%2B%2B23

C++23 Standard Library Preview - Jeff Garland - CppCon 2021|🔝|

https://youtu.be/ySsqD2e5uRQ


Despite the pandemic the C++ committee is continuing to work towards C++23. This survey presentation provides students with a broad overview of the changes and new facilities in the C++23 standard library.


Compiler Explorer__web coding|🔝|

compiler explorer

CppCon|🔝|

https://github.com/CppCon/CppCon2023

https://github.com/CppCon/CppCon2022

https://github.com/CppCon/CppCon2021

https://github.com/CppCon/CppCon2020

https://github.com/CppCon

C++23|🔝|

https://www.modernescpp.com/index.php/ranges-improvements-with-c-23

https://en.cppreference.com/w/cpp/23

C++ 23 Forum|🔝|

https://cplusplus.com/forum/lounge/283965/

C++ Core Guidelines|🔝|

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines


C/C++ Support in Clang|🔝|

Language Standard Flag Available in Clang?
C++2c
C++26
-std=c++2c Partial
C++23 -std=c++23
-std=c++2b
Partial
C++20 -std=c++20
-std=c++2a
Partial
C++17 -std=c++17 Clang 5
C++14 -std=c++14 Clang 3.4
C++11 -std=c++11 Clang 3.3
C++98/C++03 -std=c++98 Yes (other than export)
GNU 89 none, -std=gnu89
ANSI, ISO C90 -ansi, -std=c89
ISO C99 -std=c99
ISO C11 -std=c11
  • (CS)컴퓨터 시스템 [ 3판 ] 김형신 저 | 퍼스트북 | 2016년 09월 06일(p35)

GCC / Clang|🔝|

-Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic

  • use these and consider the following (see descriptions below)

see descriptions below

  • -lm - 필요하다면 표준 수학 함수를 추가한다.

  • -pedantic - Warn on language extensions

  • -Wall -Wextra reasonable and standard

  • -Wshadow warn the user if a variable declaration shadows one from a parent context

  • -Wnon-virtual-dtor warn the user if a class with virtual functions has a non-virtual destructor. This helps catch hard to track down memory errors

  • -Wold-style-cast warn for c-style casts

  • -Wcast-align warn for potential performance problem casts -Wunused warn on anything being unused

  • -Woverloaded-virtual warn if you overload (not override) a virtual function

  • -Wpedantic (all versions of GCC, Clang >= 3.2) warn if non-standard C++ is used

  • -Wconversion warn on type conversions that may lose data

  • -Wsign-conversion (Clang all versions, GCC >= 4.3) warn on sign conversions

  • -Wmisleading-indentation (only in GCC >= 6.0) warn if indentation implies blocks where blocks do not exist

  • -Wduplicated-cond (only in GCC >= 6.0) warn if if / else chain has duplicated conditions

  • -Wduplicated-branches (only in GCC >= 7.0) warn if if / else branches have duplicated code

  • -Wlogical-op (only in GCC) warn about logical operations being used where bitwise were probably wanted

  • -Wnull-dereference (only in GCC >= 6.0) warn if a null dereference is detected

  • -Wuseless-cast (only in GCC >= 4.8) warn if you perform a cast to the same type

  • -Wdouble-promotion (GCC >= 4.6, Clang >= 3.8) warn if float is implicitly promoted to double

  • -Wformat=2 warn on security issues around functions that format output (i.e., printf)

  • -Wlifetime (only special branch of Clang currently) shows object lifetime issues

  • -Wimplicit-fallthrough Warns when case statements fall-through. (Included with -Wextra in GCC, not in clang)

Consider using -Weverything and disabling the few warnings you need to on Clang

  • -Weffc++ warning mode can be too noisy, but if it works for your project, use it also.

https://github.com/cpp-best-practices/cppbestpractices/blob/master/02-Use_the_Tools_Available.md


gcc15설치하다가 나온 메세지 분석하기

libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /opt/gcc-15/lib/../lib64
----------------------------------------------------------------------
Libraries have been installed in:
   /opt/gcc-15/lib/../lib64

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

해결

export CFLAGS="$CFLAGS -D__GLIBC_USE\(...\)=0"

About

C++23_26 & My Youtube Channel - GlobalYoung https://www.youtube.com/@GlobalYoung7

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published