# GCC
make 시 LIBTIFF_4.0 관련 에러
등등 LIBTIFF_4.0 에러 여러줄 나올 경우 > 💡 conda 안에 libtiff랑 충돌 그냥 ~/.bashrc 들어가서 anaconda 관련 싹다 주석처리
gcc - warning: stack frame size of xxxx 이해하기
stack frame 은 함수 call이 발생할때 stack 저장공간에 쌓이는 데이터다. Activation record 라고 부르기도한다. stack frame 사이즈는 컴파일 타임에 계산된다. 로컬변수, 리턴addr, 매개변수 등이 저장되어있다. stack over
Shared Library/Compiler/Linker/Loader 역할
C Pre Processor(cpp) 가 \`\`\`cpp hello.c > hello.igcc -S hello.ias -o hello.o hello.s$ file a.outa.out: ELF 64-bit LSB executable, x86-64, version 1 (
gdb 기초
step execution (단계적 실행)breakpoint (설정된 중단점까지 실행)memory examination (메모리나 레지스터 값 확인)gcc -g 옵션 빌드필요. 이후 $ gdb a.out실행run 또는 r리스트 보기 (소스코드 및 라인번호 출력)l브레이
.png)
vscode에서 collect2.exe: error: ld returned 1 exit status 오류
vscode로 C++ 코딩을 하다가 다음 오류가 발생했다. 처음에는 무슨 오류인지 몰라 한참을 삽질하다가 stackoverflow에 question을 올렸더니 다음 Comment가 달렸다. > You are only compiling the one fig CPP file, you need to compile all cpp files. 이 Comment...

[리눅스마스터1급] 2.1.4 소프트웨어 설치 및 관리
소프트웨어 설치는 거의 매일(?) 프로젝트마다 빈번하게 이루어지는 행위이다. 그때마다 구글에 검색해서 하는데.. 물론 이걸 정리한다고 해도 구글에 검색하는 건 변하지 않을것 같지만...그래도 시야가 넓어질 것 같다. 리눅스 마스터 1급 합격은 덤 ! 아 생각해보니까 d
[GCC] Built-in Functions
비트 연산과 관련하여 gcc 내부에 정의된 빌트인 함수들이 있다. 이를 사용하면 사용자가 직접 알고리즘을 구현해야 할 수고를 덜 수 있으며, 크면 단일 명령어 수준으로까지 코드가 줄어들기 때문에 코드 크기도 줄고 속도도 더 빨라진다.x의 값을 이진수로 나타냈을 때, 1

docker image build 시 gcc 관련 에러 해결
docker로 image를 만드는 실습을 하다 다음과 같은 에러들이 발생했다.gcc가 없다는건데 그렇다면 Dockerfile의 RUN 코드에서 필요한 라이브러리들을 pip로 설치하기 전에 gcc를 설치하는 코드가 필요했다.(gcc에 관하여: https://ko
[GCC] 중복 정의된 매크로의 값
같은 이름의 매크로를 중복으로 정의하면 warning이 발생한다. 이 경우 매크로의 값은 가장 아랫줄에 정의된 값으로 정해진다. 전처리기가 파일을 위에서부터 읽으면서 안 건너뛰고 성실히 수행하는 듯. 중복으로 3개, 7개씩 정의해봐도 가장 아래에 정의된 값으로 출
[C] gcc 기본 옵션 정리
man gcc 중 일부를 발췌하여 번역하였습니다. > 위 링크에 들어가셔서 아래에 있는 영어를 Ctrl+F로 찾으면 쉽게 원문을 읽으실 수 있습니다. -o file > Place the primary output in file file. This applies to
[gcc] 같은 스코프 내에 선언된 배열 메모리 위치
같은 scope 내에 선언된 배열들은 서로 인접한 메모리에 할당된다.실행 결과실행 결과첫 번째 경우, str2에 할당된 메모리바로 뒤에 str1에 할당된 메모리가 바로 따라온다.그렇기 때문에 str2에 null character가 저장되지 않아 실행 결과가 위와 같이

[C++] GNU/GCC/G++ 컴파일러 설치 및 사용법
GNU 컴파일러가 어떤 것인지, 어떻게 설치 하는지, 어떻게 사용 하는지에 대하여 알아봅니다.
Offline 환경에 GCC, GCC-C++ 설치하기
😀 설치 순서 1. 다운로드 인터넷이 되는 PC에서 [패키지 다운로드 사이트]에 접속한다. 아래의 파일 전부를 다운로드 받는다. 👉 출처 : https://nillk.tistory.com/33 > 💡 depth는 의존성을 나타냅니다. 2. 파일 이동 다운로드

Linkers and Loaders
:objective file, library등의 binaryfile들은 relocatable file로 다른 피지컬 주소로 옮길 수 있는 것들이다. 이러한 파이들을 묶어서 하나의 excutable한 파일로 만들어주는 것이 linker이다. :loader란 만들어진 ex

C언어 | 우분투 리눅스에서 C프로그래밍 하기
C 프로그래밍을 하려면 컴파일러가 있어야 한다. 하지만 리눅스에서는 Visual Studio 계열의 프로그램을 사용할 수 없다 왜냐하면 Visual Studio 는 마이크로소프트사의 제품이기 때문이다.하지만 훌륭한 오픈소스 개발자들이 리눅스용 컴파일러를 개발했는데 그
Preprocessing
[ Compilation ] 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업 { 전처리 과정 ( Compilation * 1/4) } 전처리기가 컴파일러에게 Compilation 과정에 들어가기에 앞서 숙지해야하는 것에 대해서 알려주는 과정이다. Compi

Linux Tutorial #5 GCC 확장 속성 (Attributes)
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Function-Attributes.html#Function-Attributes 1. GNU 함수 속성 (Function Attributes)