C++에서 C로 컴파일된 함수를 사용하기
C++ 함수와 C 함수가 다른 이유 C++에서는 C와 다르게 함수 오버로딩이라는 기능을 제공해 준다. 이러한 기능이 가능한 이유는 C++ 컴파일러가 함수를 컴파일할 때 함수의 이름을 새롭게 만들어 주기 때문이다. 컴파일러가 새롭게 이름을 만들어주는 이 기법을 Name mangling이라고 부른다. 아래 소스코드를 g++로 컴파일하고 nm으로 살펴...
C++ 함수와 C 함수가 다른 이유 C++에서는 C와 다르게 함수 오버로딩이라는 기능을 제공해 준다. 이러한 기능이 가능한 이유는 C++ 컴파일러가 함수를 컴파일할 때 함수의 이름을 새롭게 만들어 주기 때문이다. 컴파일러가 새롭게 이름을 만들어주는 이 기법을 Name mangling이라고 부른다. 아래 소스코드를 g++로 컴파일하고 nm으로 살펴...
Windows 11에서 컴퓨터를 효율적으로 관리하기 위해 내가 사용하는 도구들은 다음과 같다. DISM (Deployment Image Servicing and Management) DISM은 시스템 이미지를 관리하고 유지 보수하기 위한 도구이다. 먼저 시스템 이미지의 무결성을 검사하고 손상된 파일을 복구하기 위해 아래 명령어를 사용한다. (...
컴파일러와 Extension 설치 사실 WSL에 컴파일러와 ‘Competitive Programming Helper (cph)’라는 Extension만 설치해 주면 환경 설정의 대부분이 끝난다. build-essential 메타 패키지를 통해 C++ 컴파일러를 설치하고, sudo apt install build-essential Visual...
Github Pages 생성 먼저 아래 글에서 설명한 내용을 토대로 최신 Node.js LTS를 설치해준다. https://sirius-mhlee.github.io/posts/wsl-nvm-nodejs-install/ Github Pages와 Jekyll을 이용하면 나만의 블로그를 만들 수 있다. 이 블로그는 Chirpy Theme에...
NVM 설치 APT(Advanced Packaging Tool)를 이용하여 WSL(Windows Subsystem for Linux)에 Node.js를 설치하면 정해진 버전이 설치된다는 단점이 있다. Ubuntu 20.04에서는 위와 같이 10.19 버전이 설치된다. Node.js 공식 홈페이지의 LTS와 비교하면 훨씬 이전 버전임을 알 수...
SSH 서비스 상태 확인 사실 WSL에는 SSH 서비스가 이미 설치되어있다. 다음 명령어를 이용하여, 현재 WSL에 설치된 모든 서비스의 상태를 확인할 수 있다. sudo service --status-all ssh 서비스가 이미 설치되어있고, [ - ] 상태(정지 상태)임을 확인할 수 있다. SSH 서비스에 비밀번호 인증으로 접속...
NVIDIA 그래픽 드라이버 및 NVIDIA Docker 설치 먼저 아래 글에서 설명한 내용을 토대로 그래픽 드라이버 및 Docker를 설치해준다. https://sirius-mhlee.github.io/posts/docker-tensorflow-gpu/ Docker 컨테이너에서 GPU를 정상적으로 인식하고 있는 것을 확인할 수 ...
pciutils 설치 먼저, PCI 정보를 확인하기 위해 pciutils를 설치한다. sudo apt install pciutils 설치가 완료되면 lspci 명령어와 grep 명령어를 이용하여 NVIDIA 그래픽 카드를 가졌는지 확인해 볼 수 있다. lspci | grep -i nvidia 위와 같이 NVIDIA 그래픽 카드가 ...
한글 폰트 설치 먼저 Colab에 한글 폰트를 설치한다. !sudo apt install -y fonts-nanum !sudo fc-cache -fv !rm -rf ~/.cache/matplotlib 설치가 완료된 다음 런타임을 다시 시작해주면, 한글 폰트를 사용할 수 있게 된다. 한글 폰트 설정 아래 코드를 이용하여, 위에서...
Jupyter Notebook 실행 Docker를 사용하면 아주 쉽게 Jupyter Notebook을 실행할 수 있다. 다음과 같이 입력하면 된다. docker run --name jupyter_notebook --user root -d -p 8888:8888 -v ~/jupyter_notebook_data:/home/jovyan jupyter/...