ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ปดํ์ผ์ ํ๊ธฐ ์ํด์ ์ปดํ์ผ ์ต์ ์ ์ด์ฉํ ๋ช ๋ น์ด๊ฐ ํ์ํ๋ค.
์๋ฌด๋ฐ ์ต์ ์์ด c++๋ก ์ปดํ์ผํ๋ ๋ฐฉ๋ฒ์ ์๋ ๊ฒ์๊ธ์ ์ค๋ช ํด ๋์๋ค.
2022.02.19 - [Language/C++] - [C++/MacOS] ํฐ๋ฏธ๋์์ c++ ์ปดํ์ผํ๊ธฐ
[C++/MacOS] ํฐ๋ฏธ๋์์ c++ ์ปดํ์ผํ๊ธฐ
๊ณต๋ถ์ค์ธ ํ๋ถ์์ ๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด ์๋ค๋ฉด ๊ผญ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์ :) ๋งฅ์์ ์์คํ์ผ์ ์ปดํ์ผํ๊ธฐ ์ํด์๋ GCC์ปดํ์ผ๋ฌ๊ฐ ํ์ํ๋ค. GCC ์ปดํ์ผ๋ฌ๋ c, c++ ์ปดํ์ผ๋ฌ์ด๋ค. Xcode๋ฅผ ์ด์ฉํ๋ฉด ์ ์
world-developer.tistory.com
์๊ธ์ ์ ๋ฆฌํด ๋์ ๋ด์ฉ๊ณผ ๋๋ถ์ด ์ปดํ์ผ์ ํ ๋ ์ฌ์ฉํ๋ ์ต์ ๋ค์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
โถ gcc ์ปดํ์ผ (์ ๊ฒ์๊ธ)
1. gcc ํ์ผ๋ช (.c) : a.out ์ ์คํํ์ผ์ด ์์ฑ๋๋ค.
2. gcc ํ์ผ๋ช (.c) -o ํ์ผ์ด๋ฆ : ํ์ผ์ด๋ฆ์ ๊ฐ์ง ์คํํ์ผ์ด ์์ฑ๋๋ค. (4๋ฒ์ด ํ๋ฒ์ ์ด๋ฃจ์ด์ง๋ค.)
3. gcc -c ํ์ผ๋ช (.c) : ์ค๋ธ์ ํธ ํ์ผ(.o)์ด ์์ฑ๋๋ค.
4. gcc -c ํ์ผ๋ช (.c) -o ์ค๋ธ์ ํธํ์ผ์ด๋ฆ : ์ค๋ธ์ ํธํ์ผ์ด๋ฆ์ ๊ฐ์ง ์ค๋ธ์ ํธ ํ์ผ(.o)์ด ์์ฑ๋๋ค.
gcc ์ค๋ธ์ ํธํ์ผ(.o) -o ํ์ผ์ด๋ฆ : ํ์ผ์ด๋ฆ์ ๊ฐ์ง ์คํํ์ผ์ด ์์ฑ๋๋ค.
โป์ค๋ธ์ ํธ ํ์ผ์ด๋?
(๋งํฌ์ฝ์ )
โถ gcc ์ต์ - ๊ธฐ๋ณธ
-o | ํน์ ํ์ผ๋ช ์ผ๋ก ์คํ ํ์ผ ์์ฑ, ์ด ์ต์ ์ด ์๋ค๋ฉด a.out์ด ์์ฑ๋๋ค. |
-c | ์ค๋ธ์ ํธ ํ์ผ(.o) ์์ฑํ๋ค. |
-E | ์ปดํ์ผ ๋์ ์ ์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ stdout์ผ๋ก ์ถ๋ ฅํ๋ค. |
-S | ์ด์ ๋ธ๋ฆฌ ํ์ผ๋ง ์์ฑํ๊ณ ์ปดํ์ผ์ ์ข ๋ฃํ๋ค. (.s ํ์ผ ์์ฑ) |
-v | verbose ๋ชจ๋, ์ปดํ์ผ์ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. |
โถ gcc ์ต์ - ํค๋ ๋ฐ ๋งคํฌ๋ก
-I | ํด๋ํ์ผ(.h)์ ํ์ํ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์ ํ๋ค. #include <>์์ ์ฌ์ฉํ๋ ํด๋ํ์ผ์ ํ์ํ๋ค. |
-D[๋งคํฌ๋ก] | #define [๋งคํฌ๋ก], -DDEBUG์ด๋ฉด #define DEBUG ์ต์ ์ถ๊ฐ |
โถ gcc ์ต์ - ๊ฒฝ๊ณ ๋ฐ ์ต์ ํ
-ansi | ANSI Cํ์ค์ผ๋ก ๋ฌธ๋ฒ์ ์ฒดํฌํ๋ค. C์ธ์ด์์๋ -std=c90, C++์ธ์ด์์๋ -std=c++98์ ์ฌ์ฉํ๋ค. |
-std=[ํ์ค] | -std=c++11 ๋ฑ ํ์ค ๋ฒ์ ์ ์ค์ ํ๋ ์ต์ ์ด๋ค. |
-W | ๋ชจํธํ ์ฝ๋ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํ๋ ์ต์ ์ด๋ค. -Wall์์ ์ ์ธํ 16๊ฐ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. |
-Wall | ๋ชจ๋ ๋ชจํธํ ์ฝ๋ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํ๋ ์ต์ ์ด๋ค. |
-w | ๋ชจ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ ๊ฑฐํ๋ค. |
-Werror | ๋ชจ๋ ๊ฒฝ๊ณ ๋ฅผ ์๋ฌ๋ก ๊ฐ์ฃผํ๊ณ ์ปดํ์ผ์ ์ค๋จํ๋ค. |
-pedantic | ANSI C89 ํ์ค์์ ์๊ตฌํ๋ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ค. -ansi์ ํจ๊ป ์ฌ์ฉํ๋ค. |
-On | ์ต์ ํ n๋ ๋ฒจ์ ์ค์ ํ๋ค(O2 ์ต์ ํ ๊ถ์ฅ) |
โถ gcc ์ต์ - ๋๋ฒ๊น
-g | gdb ๋๋ฒ๊ฑฐ ํด์ ํตํด ๋๋ฒ๊น ํ ์ ์๋๋ก ์ ๋ณด๋ฅผ ์์ฑํ๋ค. |
-pg | ํ๋กํ์ผ์ ์ํ ์ฝ๋๋ฅผ ์ฝ์ ํ๋ค. |
โป ํ๋กํ์ผ๋ง์ด๋? ํ๋ก๊ทธ๋จ์์ ์ด๋ ๋ถ๋ถ์ด ์ด๋์ ๋์ ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋์ง, ํ๋ก๊ทธ๋จ์ ์ต์ ํ๋ฅผ ์ํด ๊ฐ ๋ชจ๋(๋ถ๋ถ) ๋ณ๋ก ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ธก์ ํ๋ ๊ฒ์ด๋ค.
โถ gcc ์ต์ - ๋งํฌ
-L | ๋งํฌ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ํ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด๋ค. |
-l | ๋งํฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ ํ๋ ๊ฒ์ด๋ค. |
-shared | ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ์ ์ผ๋ก ๋งํฌํ๋ค. |
-static | ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ์ ์ผ๋ก ๋งํฌํ๋ค. |
โถ gcc ์ต์ - 32/63bits
-m32 | 32 ๋นํธ ์ปดํ์ผ |
-m64 | 64 ๋นํธ ์ปดํ์ผ |
โ
์ถ์ฒ: https://blueyikim.tistory.com/209
ํธ์ง์ผ์
22.02.22
'CS > Tip' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git & Github] ๋ก์ปฌ ๋ธ๋์น <-> ์๊ฒฉ ๋ธ๋์น ๋๊ธฐํ (1) | 2024.09.01 |
---|---|
vscode snippet ๋ง๋ค๊ธฐ (1) | 2024.07.22 |
[C/C++/MacOS] GCC ์ปดํ์ผ๋ฌ ์ค์นํ๊ธฐ (0) | 2022.02.19 |
[MacOS] ํฐ๋ฏธ๋ ์ปค๋งจ๋๋ผ์ธ ์ฌ์ฉ๋ฒ, ๋จ์ถ๊ธฐ (0) | 2022.02.12 |
[C/C++/MacOS] Visual studio code๋ก C/C++ ์์ํ๊ธฐ (0) | 2022.02.06 |