3์ 9.1์ผ, GCC XNUMX๋ฒ์งธ ๋ฒ์ ์ธ GCC XNUMX์ ์ฒซ ๋ฒ์งธ ๊ณต๊ฐ ๋ฆด๋ฆฌ์ค๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค.
XNUMX๋ฒ์งธ ๋ฒ์ ์ ๋นํด ๋ง์ ์ค์ํ ๊ฐ์ ์ฌํญ๊ณผ ์ถ๊ฐ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ฒ์ .
์ผ๋ฐ ๋ณ๊ฒฝ ์ฌํญ
์ต์
- ํฌ๊ธฐ๋ฅผ ํ์ฉํ๋ ๋ช ๋ น์ ์ด์ 64๋นํธ ๊ฐ๊ณผ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ์ ๋ฏธ์ฌ๋ฅผ ์ง์ํฉ๋๋ค.
- ์ถ๊ฐ๋ ์ต์ -flive-ํจ์นญ, ๋์ ์ธ ์ฝ๋ ๊ต์ฒด์ ์ ์ฌ์ ์ผ๋ก ํ๊ดด์ ์ธ ์ต์ ํ๋ฅผ ์ ์ดํ๊ธฐ ์ํด;
- ๋ช ๋ น ์ ธ์์ ์๋ ์์ฑ์ ์ง์ํ๊ธฐ ์ํด --completion ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ด์ ์ปดํ์ผ๋ฌ ์ง๋จ์ ์ค ๋ฒํธ(-fno-diagnostics-show-line-numbers) ๊ทธ๋ฆฌ๊ณ
์ ํ ์ ๋ณด(fno-์ง๋จ-ํ์-๋ ์ด๋ธ); - ์ถ๊ฐ๋ ์ต์ -fdiagnostics-format=json JSON ํ์์ผ๋ก ์ง๋จ์ ์ถ๋ ฅํฉ๋๋ค.
- ์ ๋ ฌ ์ง์ ์ต์ (-falign-ํจ์์๋ฅผ ๋ค์ด) ์ด์ ๋ช ๊ฐ์ง ์ ๋ ฌ ์ต์ ์ ํ์ฉํ ์ ์์ต๋๋ค.
- ํ์ผ ๋ชฉ๋ก์ ํํฐ๋งํ๊ธฐ ์ํ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค(-fํ๋กํ-ํํฐ-ํ์ผ, -fprofile-์ ์ธ-ํ์ผ), ์ด๋ ํ๋กํ์ผ๋ฌ์ ์ํด ๊ณ์ธก๋ฉ๋๋ค.
- AddressSanitizer๋ ์ด์ ๋ ๊ฐ๊ฒฐํ ์ ๋ ฌ์ ์ฌ์ฉํ์ฌ ์คํ์ ๋ณ์์ ๋ํ ์ ํจํ์ง ์์ ์ก์ธ์ค๋ฅผ ํฌ์ฐฉํฉ๋๋ค.
- ๋ค์ํ ์ถ๋ ฅ ๊ฐ์ -fopt-์ ๋ณด;
- ์ถ๊ฐ๋ ์ต์ -fsave-์ต์ ํ-๊ธฐ๋ก ์ต์ ํ ๋ณด๊ณ ์๋ฅผ ํ์ผ์ ์ ์ฅํฉ๋๋ค.
- ์ถ๊ฐ๋ ์ต์ -fipa-์คํ ์ ๋ ฌ ะธ -fipa-์ฐธ์กฐ-์ฃผ์ ์ง์ ๊ฐ๋ฅ.
์๋ก์ด ๋ด์ฅ ๊ธฐ๋ฅ
์๋ก์ด ์์ฑ
๋ค๋ฅธ
๋ค์๊ณผ ๊ด๋ จ๋ ๋ค์ํ ์ฝ๋ ์์ฑ ๊ฐ์ ์ฌํญ:
- ์ค์์น ๊ตฌ์ฑ์ ์์ฑ;
- ์ ์ฐจ ๊ฐ ์ต์ ํ;
- ํ๋กํ์ผ๋ง ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ต์ ํ;
- ์กฐ๋ฆฝ ๋จ๊ณ(LTO)์์์ ์ต์ ํ;
๋ํ gcov์ ๋ด๋ถ ํ์์ ์ด์ JSON์ด๋ฉฐ ์ ์ต์ ์ --์ฌ์ฉ-ํซ๋-์์ ์ฌ์ฉ ๋น๋์ ๋ฐ๋ผ ์ฝ๋ ์ค์ ์์น ํ๋ ์์ ์ด ํฌํจ๋ฉ๋๋ค.
์ธ์ด
๊ตฌํ์ ํ์ง ๋ฐ ์์ฑ๋ ์คํACC C, C++, Fortran ์ธ์ด๋ ๊ณ์ํด์ ๊ฐ์ ๋๊ณ ์์ต๋๋ค.
C์ ์ ์ฌํ ์ธ์ด
- OpenMP 5.0์ ๋ํ ๋ถ๋ถ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ถ๊ฐ๋ ๊ธฐ๋ฅ __๋ด์ฅ_๋ณํ๋ฒกํฐ;
- ๊ฒฝ๊ณ ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. -ํฌ์ฅ ํ์์ Waddress;
- ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์กด ๊ฒฝ๊ณ ๊ฐ ๊ฐ์ ๋์์ต๋๋ค.
- ์ด์ ๋งคํฌ๋ก์ ์๋ชป๋ ์์ ์ธ์๋ฅผ ์ ๋ฌํ ๋ ๋ฐ์ํ๋ ์ค๋ฅ ํ ์คํธ์ ๋งคํฌ๋ก ์์ฒด์ ์ ์ธ์ด ํฌํจ๋ฉ๋๋ค.
- ์คํ ์์ ์ ์์ด ๊ฐ์ ๋์์ต๋๋ค.
C
- -std=c2x(ํฅํ C ํ์ค)์ ๋ํ ํ๋์ ์ธ์๋ก _Static_assert๋ฅผ ์ง์ํฉ๋๋ค.
- ์๋ก์ด ๊ฒฝ๊ณ -W์ ๋๊ฐ, ์ด๋ abs()์ ๊ฐ์ ํจ์์ ๋ํด ์๋ชป๋ ์ธ์ ์ ํ์ ํฌ์ฐฉํฉ๋๋ค.
C + +
- ์๋ก์ด ๊ฒฝ๊ณ : -Wdeprecated-copy,
-Winit-๋ชฉ๋ก-์๋ช ,
- ์ค๋ณต ์ด๋,
-W๋น๊ด์ ์ด๋,
-Wclass ๋ณํ; - ๋ฏธ๋ ํ์ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ ์์ ์ด ์งํ ์ค์ ๋๋ค. C++2a;
- ์ด์ ํ๋ฐํธ์๋์ ์ฌ๋ฌ ์์ค ์ฝ๋ ์์์ ๋ํ ๋ ์ ํํ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฏ๋ก ์ง๋จ ์ ๋ ์์ธํ ์ ๋ณด๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
- ์ค๋ฒ๋ก๋๋ ํจ์, ์ด์ง ์ฐ์ฐ์, ํจ์ ํธ์ถ ๋ฐ ํ์ ๋ฌธ์์ด์ ๋ํ ์ง๋จ์ด ํฅ์๋์์ต๋๋ค.
- ์ฌ๋ฌ ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์ค๋ฅ(๊ดํธ ๋๋ฝ, ๋ค์์คํ์ด์ค, ์คํ ๋ฑ)์ ๋ํด ์ผ๋ถ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ง์๋๋ ์๋ ์์ ์ฌํญ์ ์ถ๊ฐํ์ต๋๋ค.
libstdc++
- C++17 ๊ตฌํ์ ๋ ์ด์ ์คํ์ ์ด์ง ์์ต๋๋ค.
- ๋ณ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ถ๊ฐ๋์์ต๋๋ค. , , ใ ๋ ์ด์ -lstdc++fs๊ฐ ํ์ํ์ง ์์ต๋๋ค.
- C++2a์ ๋ํ ํฅ์๋ ์คํ์ ์ง์( , , std::bind_front ๋ฑ);
- ๊ฒฝ๋ก์ ๋ฌธ์๊ฐ ์๋ ๋ฌธ์๊ฐ ํฌํจ๋ Windows์์ ํ์ผ ์คํธ๋ฆผ ์ด๊ธฐ ์ง์
- ์ด๊ธฐ ์ง์ ์๋์ฐ์์;
- ๋คํธ์ํน TS์ ๋ํ ์ด๊ธฐ ์ง์.
D
D ์ธ์ด ๋ฒ์ 2.076์ด GCC์ ํฌํจ๋์ด ์์ต๋๋ค.
ํฌํธ๋
- ๋น๋๊ธฐ I/O๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํฉ๋๋ค.
- MINLOC ๋ฐ MAXLOC์ ๋ํ BACK ์ธ์๊ฐ ๊ตฌํ๋์์ต๋๋ค.
- FINDLOC ๋ฐ IS_CONTIGOUS ํจ์๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ๋ณต์์์ ๊ตฌ์ฑ ์์์ ์ก์ธ์คํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ด ๊ตฌํ๋์์ต๋๋ค: c%re ๋ฐ c%im;
- str%len ๋ฐ a%kind ๊ตฌ๋ฌธ์ ๊ตฌํํ์ต๋๋ค.
- C ์ค๋ช ์ ๋ฐ ISO_Fortran_binding.h ํค๋๋ฅผ ๊ตฌํํ์ต๋๋ค.
- ์ธ์ ์ค ํ๋๊ฐ NaN์ธ ๊ฒฝ์ฐ MAX ๋ฐ MIN ํจ์์ ๊ฒฐ๊ณผ์ ๋ํ ์๊ตฌ ์ฌํญ์ด ์ํ๋์์ต๋๋ค.
- ์ถ๊ฐ๋ ์ต์ -fdec-ํฌํจ;
- ์ง์๋ฌธ์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ด์ฅ.
libgccjit
- ์ถ๊ฐ๋ ๊ธฐ๋ฅ gcc_jit_context_add_driver_option.
๋ค๋ฅธ
๋ง์ ์ํคํ ์ฒ ๋ฐ OS ๊ด๋ จ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.
์ถ์ฒ : linux.org.ru