๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (130)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (35)
      • Next.js (16)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (27)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (6)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ์›์‹œํƒ€์ž…
  • next.js
  • SSR
  • ์˜ค๋ธ”์™„
  • ๋ฉด์ ‘
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • layout shift
  • ์ฝœ์Šคํƒ
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ํ˜ธ์ด์ŠคํŒ…
  • ๋ ‰์‹œ์ปฌ
  • react
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • reflow
  • ํž™์˜์—ญ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์ด๋ฒคํŠธ๋ฃจํ”„

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

CS/Tip

[MacOS] gcc ์ปดํŒŒ์ผ ์˜ต์…˜ ์ •๋ฆฌ

2022. 2. 22. 17:46

ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  ์ปดํŒŒ์ผ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์ปดํŒŒ์ผ ์˜ต์…˜์„ ์ด์šฉํ•œ ๋ช…๋ น์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 

 

์•„๋ฌด๋Ÿฐ ์˜ต์…˜ ์—†์ด 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
    'CS/Tip' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Git & Github] ๋กœ์ปฌ ๋ธŒ๋žœ์น˜ <-> ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ๋™๊ธฐํ™”
    • vscode snippet ๋งŒ๋“ค๊ธฐ
    • [C/C++/MacOS] GCC ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์น˜ํ•˜๊ธฐ
    • [MacOS] ํ„ฐ๋ฏธ๋„ ์ปค๋งจ๋“œ๋ผ์ธ ์‚ฌ์šฉ๋ฒ•, ๋‹จ์ถ•๊ธฐ
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”