728x90

수성비전자방입니다. 오랜만에 Visual Studio Code에서 C프로그래밍 하는 것에 관한 글을 쓰겠습니다. C언어 디버깅을 하려면 어떡해야 할까요? gdb 디버거를 쓰시면 됩니다.^^

 

오늘 글을 시작하기 전에...

1. Visual Studio Code를 설치하시기 바랍니다. 오늘 다룰 내용은 VScode의 기능은 아니고 gdb 디버거의 기능이지만, 이 글의 시리즈가 Visual Studio Code 시리즈이므로 Visual Studio Code 기준으로 글을 작성하겠습니다.

https://toopyo.tistory.com/entry/vscode-post1

위 글을 보시면 Visual Studio Code를 설치하는 방법과 한국어 패치하는 방법을 확인하실 수 있습니다.

2. GCC를 설치하셔야 합니다. Windows PC라면 MinGW-w64를 설치하시면 됩니다.

https://toopyo.tistory.com/entry/vscode-post2

위 글을 참고하여 C/C++ 확장과 MinGW-w64를 설치하시고, C언어 빌드 옵션을 숙지하시기 바랍니다.

 

gdb 디버거를 사용하는 방법

1. C언어로 프로그래밍합니다. 저는 여러분들께 디버깅을 설명드리기 위해 위 스크린샷과 같이 간단하게 코드를 짜 보았습니다.

2. C code를 빌드합니다. 이때 -g 옵션을 꼭 추가하셔야 합니다. 디버깅을 위해 추가해야 할 옵션입니다.

예를 들어, 저는 gcc -g dtest.c -o appdt 명령을 실행했습니다.

(-o appdt는 실행파일명을 appdt로 지정한 것으로, PowerShell 자동완성 기능을 편하게 이용하기 위해 사용했습니다. 필수사항은 아닙니다.)

 

3. 빌드가 완료되면 exe 파일이 생성되었을 것입니다. 잘 생성되었는지 확인하시기 바랍니다.(실행파일명도 확인!)

4. 소스 코드와 실행 파일이 같은 폴더 안에 있어야 합니다.

5. gdb 실행파일명.exe 또는 gdb .\실행파일명.exe 명령을 실행합니다.

(Tip: 실행파일명의 일부만 치고 Tap 키를 누르면 .\실행파일명.exe로 자동완성됩니다.)

 

6. Type <return> to continue, or q <return> to quit

뜻: 계속하려면 엔터 키를 누르시고, 종료하려면 q를 입력하신 후 엔터 치세요.

 

이제 gdb 디버거가 실행되었습니다. 명령어를 입력하며 사용해야 하는데, 쓸만한 명령어들을 정리해 보겠습니다.

 

run

우선 가볍게 run부터 사용해 보겠습니다.

run을 입력하시고 엔터 치시면 프로그램이 실행됩니다.

지금은 딱히 설정한 것이 없어서 프로그램이 전부 실행되지만, breakpoint 설정을 하고 나서 다시 run을 해 보시면 breakpoint마다 쉬게 됩니다.(breakpoint에 대해서는 뒤에서 다룸.)

 

list

list는 소스코드를 볼 수 있는 명령어입니다.

*명령어: list

*기능: 소스코드 출력

 

list를 입력하시고 엔터 치시면 소스 코드의 Line 1부터 Line 10까지 출력됩니다. VScode로 작성한 것과 똑같죠?

 

엔터를 또 치시면 다음 10개 행(Line 11~20)이 출력됩니다. 엔터를 칠 때마다 열 줄씩 나오게 됩니다.

만약 list 명령을 실행했는데 소스 코드가 이상하게 나온다면, 빌드할 때 -g 옵션이 추가되지 않은 것이니, -g 옵션을 넣어서 다시 빌드하시기 바랍니다.

그나저나 VScode의 에디터로 소스 코드를 계속 확인할 수 있기 때문에 list 명령어는 잘 안 쓰시게 될 겁니다.

 

break

디버깅 하면 빠질 수 없는 기능 같습니다. breakpoint(정지점, 중단점)을 지정하는 기능이죠.

*명령어: break Line번호 또는 break 함수명

*기능: Breakpoint 지정

 

저는 함수명을 입력할 만한 게 없어서 Line 번호를 이용해 보았습니다.

break 7이라고 치니까

 

Breakpoint 1이 dtest.c의 line 7에 지정되었다고 나옵니다.

 

이제 run 명령을 실행하시면 Line 1~6를 실행하게 됩니다.

 

step

*명령어: step 또는 s

*기능: 현재 행 수행 후 정지. 함수 호출 시 함수 안으로 들어갑니다.

 

위 스크린샷은 Line 1~6까지 실행하고 현재 행이 Line 7인 상태에서 s 명령을 실행한 결과입니다.

Line 7인 printf("Hello world!\n");이 실행되었으며, Line 8은 공백이므로 현재 행이 Line 9으로 지정되었습니다.

 

next

*명령어: next 또는 n

*기능: 현재 행 수행 후 정지. 함수 호출 시 함수 수행 다음 행으로 넘어갑니다.

 

위 스크린샷은 Line 9까지 실행하고 현재 행이 Line 10인 상태에서 n 명령을 실행한 결과입니다.

Line 10인 b=2;가 실행되었으며, 현재 행이 Line 11으로 지정되었습니다.

제가 작성한 예시 코드에 main 함수 외에 다른 함수가 없어서 예를 잘 못 든 점 양해 부탁드립니다.(printf도 함수이긴 하지만 그건 stdio.h 안에 있는 함수라서...)

 

continue

*명령어: continue 또는 cont

*기능: Breakpoint(정지점)을 만날 때까지 수행

 

위 스크린샷은 Line 10까지 실행하고 현재 행이 Line 11인 상태에서 continue 명령을 실행한 결과입니다.

프로그램이 끝까지 실행되고 종료되었습니다.

 

whatis

*명령어: whatis 변수명

*기능: 변수의 type 출력

 

위 스크린샷은 Line 6까지 실행하고 현재 행이 Line 7인 상태에서 whatis a 명령을 실행한 결과입니다.

type = int 라고 출력되었습니다.

 

print

Logic error를 고치기 위해서 디버깅을 사용하다 보면 중간중간 변수의 값을 확인하고 싶을 때가 있을 것입니다. 그때마다 printf 함수를 이용할 수는 없으니 디버거의 print 기능을 이용합니다.

*명령어: print 변수명 또는 p 변수명

*기능: 변수에 저장된 현재 값을 한 번 출력

 

Line 6까지 실행하고 현재 행이 Line 7인 상태에서 print a 명령을 실행했더니 $1 = 0라고 출력되었습니다.

s 명령을 몇 번 해서 Line 9까지 실행하고 현재 행이 Line 10인 상태에서 print a 명령을 실행했더니 $2 = 1이 출력되었습니다.(Line 9가 a=1; 이었음.)

 

display

print는 변수의 값을 한 번만 출력합니다. Line별로 변하는 변수 값을 확인하고 싶다면 변수 값이 매번 출력되는 것이 좋겠죠? 그럴 때 사용할 수 있는 기능이 display입니다.

*명령어: display 변수명

*기능: 변수에 저장된 현재 값을 지속적으로 출력

 

위 스크린샷은 Line 9까지 실행하고 현재 행이 Line 10인 상태에서 display a 명령을 실행한 결과입니다.

1: d[1] = 0 이라고 출력되었습니다.

 

s 명령을 실행해서 Line 10까지 실행하고 현재 행이 Line 11인 상태가 되었습니다.

또 1: d[1] = 0 이라고 출력되었습니다.

 

눈에 띄는 변화를 보기 위해 Line 17에 Breakpoint를 지정하고 continue했습니다.

1: d[1] = 65 라고 출력되었습니다.(Line 13이 d[1]='A'이었음.)

 

set variable

*명령어: set variable 변수명 =

*기능: 변수 값을 변경

 

set variable d[1]=80 을 입력해 보았습니다.

엔터를 쳐도 어떤 메시지가 출력이 안 되는데요.

 

display 명령을 통해 확인해 보니 d[1] 값이 80으로 바뀌었네요. :)

 

info break

Breakpoint를 많이 지정하다 보면 자신이 어디에 Breakpoint를 지정했는지 잊어먹을 수 있죠. 이때 Breakpoint 목록을 확인하는 방법이 있습니다.

*명령어: info break

*기능: 설정되어 있는 Breakpoint 확인

 

이렇게 Breakpoint 목록을 확인하실 수 있습니다.

혹시 제거하고 싶은 Breakpoint가 있다면, Num 열과 What 열에 주목하세요!

 

delete

[특정 Breakpoint를 제거할 때]

*명령어: delete Num

(Num은 info break 명령을 통해서 확인)

*기능: 특정 Breakpoint 제거

 

Breakpoint 1이 dtest.c:7인 상태에서 delete 1 명령을 실행해 보았습니다.

 

run 명령을 실행했을 때 Breakpoint 2까지 실행되어, Line 16까지 실행되고 현재 행이 Line 18로 지정되었습니다.(Breakpoint2가 Line 17인데 현재 행이 Line 18인 이유: Line 17은 공백임.)

 

[모든 Breakpoint를 제거할 때]

*명령어: delete

*기능: 모든 Breakpoint 제거

 

1. delete를 입력하고 엔터 칩니다.

2. Delete all breakpoints? (y or n)이 출력되면 y를 입력하고 엔터 칩니다.

 

run을 실행해 보니 Breakpoint 없이 끝까지 실행됩니다.

 

kill

프로그램을 실행하다가 Breakpoint에서 멈췄을 때 오류를 발견한다면 빨리 종료하고 소스코드 수정을 하고 싶겠죠? 이때 프로그램을 종료하는 명령어가 있습니다.

*명령어: kill

*기능: 프로그램 수행 강제 종료

 

1. kill 명령을 실행합니다.

2. Kill the program being debugged? (y or n)이 출력되면 y를 입력하고 엔터키를 누릅니다.

3. 프로그램이 강제 종료되었습니다.

 

quit

디버거를 종료하고 싶을 때

*명령어: quit 또는 q

*기능: gdb 디버거 종료

 

q를 입력하고 엔터 쳤더니 위와 같이 gdb 디버거가 종료되었습니다.

 

저의 글을 읽어 주셔서 감사합니다.

글을 쓰고 보니 굉장히 길군요. 긴 글 읽어 주셔서 감사합니다.

다음에 만나요!

 

참고 자료

1) 슈라 Shuuura. 2020. "[우분투 리눅스] gcc컴파일 및 디버깅", 슈라의 인생 Log. :). (2021. 07. 24. 방문). https://blog.naver.com/sera3579/222109588968

2) 현애. 2020. "[20] 리눅스 - gcc 컴파일러, gdb 디버거", 과제하는 공대생. (2021. 07. 24. 방문). https://blog.naver.com/aeae_1/222161714082

3) KwonZales. 2021. "[Linux] 리눅스의 디버거, gdb의 디버거와 사용법", 하고 싶은 게 많은, 일단은 개발자. (2021. 07. 24. 방문). https://kwonzales.tistory.com/35

4) 허정호. 2017. "[과제] gdb(디버거) 사용법", 허정호의 IT 공장. (2021. 07. 24. 방문). https://hyess.tistory.com/337

 

댓글을 달아 주세요

728x90

수성비전자방입니다. Raspberry Pi APT Repository에는 Visual Studio Code가 포함되어 있습니다. 오늘은 라즈베리파이3 B+에 Visual Studio Code와 한국어 확장팩을 설치해 보겠습니다.(라즈베리파이4에 설치하는 방법도 동일할 것입니다.)

 

Visual Studio 설치하기

1. 라즈베리파이 OS를 부팅하고, 터미널을 실행합니다.

2. sudo apt update 명령을 실행합니다.

 

3. sudo apt install code 명령을 실행합니다. 그러면 Visual Studio Code 설치가 시작됩니다.

 

4. 잠시 기다리신 후 Visual Studio Code 설치가 완전히 끝나면 터미널 창을 닫습니다.

 

5. 라즈베리파이 메뉴→개발 로 들어가시면 Visual Studio Code가 설치되어 있는 것을 확인하실 수 있습니다.

 

익숙한 디자인의 창이 나오네요. 첫 화면은 튜토리얼 같은 건데 그냥 한 번 읽어 보세요.

 

튜토리얼 같은 것을 모두 넘기고 나면 진짜로 익숙한 첫 화면이 나오게 됩니다.

 

다만, Visual Studio Code를 처음 써 보시는 분들께는 이 화면이 어색할 지도 모르겠는데,

왼쪽 상단의 버튼들은 각각 이런 기능들이니 참고하시기 바랍니다.

 

한국어 확장팩 설치

사실 Visual Studio Code를 설치하고 나면, 그 이후는 운영체제와 상관 없이 사용법이 거의 동일합니다. 그래서 타 OS에서 VScode를 써보신 분들은 이후 내용을 이미 아실 겁니다.

 

1. 확장을 클릭합니다.

2. Korean을 검색합니다.

3. Korean Language Pack for Visual Studio Code를 클릭합니다.

4. Install을 눌러 설치합니다.

 

5. 오른쪽 아래에 VS Code를 재시작하라는 창이 뜹니다. Restart를 클릭하면 재시작됩니다.

 

한국어가 적용되었습니다.

 

Windows에서 쓰는 것과 얼마나 비슷한가?

[폴더 열기]

폴더 열기(파일→폴더 열기)를 누르면 이런 창이 뜹니다. 여기서 폴더를 지정하면

 

좌측에 폴더를 열어놓고 코딩할 수 있습니다.

 

[이 폴더에 있는 파일의 작성자를 신뢰합니까?]

Windows용 VScode에서도 얼마 전에 업데이트된 것인데, 보안을 위해 이런 창이 뜬다고 합니다. 사실 귀찮긴 한데...

 

[터미널]

위의 메뉴 목록의 터미널을 누르신 후 새 터미널을 클릭하시면 VScode 창에서 터미널 창을 사용하실 수 있습니다.

 

여기까지 보면 Windows에서 VScode를 쓰는 것과 거의 비슷하다는 생각이 들죠? VScode의 장점을 잘 활용할 수 있을 것 같습니다.

 

[속도]

한 가지 아쉬운 점은 작동 속도가 느리다는 것입니다. 다만, 제가 라즈베리파이3 B+를 사용하고 있다는 점에 주목하겠습니다. 라즈베리파이4에 설치하면 빠르지 않을까요?

 

저의 글을 읽어 주셔서 감사합니다.

다음에 만나요!

 

추신)라즈베리파이 메뉴를 클릭하지 않고 Visual Studio Code를 실행할 수 있습니다.

터미널 창에 code를 입력하고 엔터 치시면 됩니다.(참고로 Windows PowerShell에서도 쓸 수 있는 방법임.)

 

참고 자료

1) Microsoft. "Visual Studio Code on Raspberry Pi", Visual Studio Code 홈페이지. (2021. 06. 18. 방문).

 

Running Visual Studio Code on Raspberry Pi OS

Get Visual Studio Code up and running on Raspberry Pi OS.

code.visualstudio.com

 

댓글을 달아 주세요

728x90

수성비전자방입니다. 오늘은 Visual Studio Code에서 C언어 컴파일하는 방법에 대해 알아보겠습니다.

 

[Visual Studio Code]1. 설치 

 

Visual Studio Code 설치 방법과 한국어 패치 방법이 궁금하신 방법은 위의 글을 읽어 보시기 바랍니다.

 

C/C++ 확장 설치

*.c 파일을 만들면 오른쪽 아래에 확장을 설치하라고 뜰텐데 그걸 설치해 줍니다.

 

아니면 확장에서 C/C++을 찾아서 설치해 주시면 됩니다.

 

사실 아직 C언어 컴파일은 불가능합니다. GCC를 설치해야 합니다. GCC‘GNU Compiler Collection’의 약자로, C언어 컴파일러를 포함하고 있습니다. 위 스크린샷에 빨간 밑줄로 표시해 둔 것을 클릭하셔도 되지만, 그냥 아래 방법으로 따라가시면 됩니다. 인스톨러를 사용하는 방법과 직접 압축을 푸는 방법이 있습니다. 원하는 방법을 이용하시기 바랍니다.

 

GCC(MinGW) 설치(인스톨러 사용)

1. https://sourceforge.net/projects/mingw-w64/ 로 접속합니다.

2. Download를 클릭합니다.

 

3. 오 초 기다리시면 왼쪽 아래에서 내려받으실 수 있습니다.

 

4. 내려받아 실행하시면 됩니다. Next를 클릭합니다.

 

5. Architecture에 주목하겠습니다.

i686: 32bit

X86_64: 64bit

본인의 PC 환경에 맞도록 선택하여 설치하시기 바랍니다.

 

6. 설치하시면 되는데 설치 경로를 기억해 두시기 바랍니다.

(어디에 적어 두거나 스크린샷을 찍어 두면 되겠죠?)

 

설치중...

설치가 완료되면 환경 변수 설정을 하시기 바랍니다.

 

???

사실 저는 실패했습니다. 그래서 저는 아래의 방법으로 했죠.

 

GCC(MinGW) 설치(직접 압축 해제)

1. https://sourceforge.net/projects/mingw-w64/ 로 접속합니다.

2. Files를 클릭합니다.

1~2. 사실 그냥 https://sourceforge.net/projects/mingw-w64/files/ 로 접속하시면 됩니다.

 

3. 스크롤을 내립니다.

 

4. 본인이 원하는 버전을 클릭하세요.

왼쪽부터 Architecture-Threads-Exception입니다.

 

5. 오 초 정도 기다리시면 왼쪽 아래에 뜰 것입니다.

내려받으시고, 실행하세요.

 

6. 압축을 푸시기 바랍니다. 일단 아무데나 풀어주세요. 어차피 설치 경로에 바로 못 풉니다.

 

7. (알집 기준)의심 파일 경고가 떠도 그냥 '예' 누르시면 됩니다.

 

8. 압축 푼 것을 적당한 위치에 넣어 주세요. 저는 mingw64 폴더 안에 있는 것을 C:\Program Files\mingw-w64에 넣었습니다.

(지금 생각해 보면 그냥 mingw64 폴더를 C:\Program Files 안에 넣어도 되었을 것 같은데…)

아무튼 지금 넣은 위치를 잘 기억해 주세요.(어디에 써 두시거나 스크린샷하면 편하겠죠?)

 

9. 관리자 권한이 필요하다고 합니다. 계속을 눌러 주세요.(모든 항목에 같은 작업 실행 체크하면 편함.)

 

환경 변수 편집

10. 시스템 환경 변수 편집을 실행합니다.(검색창에서 검색하면 되겠죠?)

 

11. 고급 탭에 들어갑니다.

12. 환경 변수(N)를 클릭합니다.

 

13. 시스템 변수 Path를 선택하고, 편집을 클릭합니다.

 

14. 새로 만들기를 클릭합니다.

15. MinGW가 설치된 경로\bin 을 입력합니다.

16. 확인을 클릭합니다.

17. 확인을 클릭합니다.

18. 확인을 클릭합니다.

 

19. 명령 프롬프트(검색창에 cmd 치면 나옴.)gcc 명령을 내려서 위와 같이 뜨면 성공입니다.

참고로 gcc -v 명령을 내리면 엄청 길게 뭐가 나오는데 맨 밑에 여러분이 설치하신 버전이 뜰 것입니다.

혹시 ‘gcc’() 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 나오면 설치가 제대로 안 된 것입니다. 환경 변수 설정을 잘못하지는 않았는지 다시 한 번 점검해 보세요.

 

C언어 빌드 및 실행

1. C언어로 먼저 프로그래밍을 해 주세요. 저는 간단하게 Hello World!를 띄워 보겠습니다.

2. 터미널 창에서 컴파일을 진행하겠습니다. 터미널 창이 없다면 메뉴 모음 터미널(T)새 터미널을 클릭하시면 됩니다.

3. gcc 파일명.c 또는 gcc .\파일명.c 를 입력합니다.(단, 파일 경로가 맞다는 전제 하에...) 이 명령을 실행하고 나면 해당 C언어 소스코드가 빌드됩니다.

4. .\a.exe 를 입력합니다.

그러면 컴파일된 파일이 실행되며 출력 결과를 확인하실 수 있습니다.

 

GCC 빌드 옵션

[실행파일명 지정] -o 를 사용합니다.

1. 역시 C언어로 먼저 프로그래밍을 한 상태에서 진행하겠습니다.

2. 터미널 창에서 컴파일을 진행하겠습니다. 터미널 창이 없다면 메뉴 모음 터미널(T)새 터미널을 클릭하시면 됩니다.

3. gcc 파일명.c -o 원하는실행파일명 을 입력합니다.

물론 gcc .\파일명.c -o 원하는실행파일명 을 입력하셔도 됩니다.

파일 경로가 다르면 그 경로도 고려해야 하고요.

4. 원하는실행파일명.exe 파일이 생성되었습니다.

5. 터미널에 .\원하는실행파일명.exe 를 입력합니다.

그러면 컴파일된 파일이 실행되며 출력 결과를 확인하실 수 있습니다.

 

[Linking 전까지만 진행, 목적 파일(*.o) 얻는 법] -c 를 사용합니다.

1. 역시 C언어로 먼저 프로그래밍을 한 상태에서 진행하겠습니다.

2. 터미널 창에서 컴파일을 진행하겠습니다. 터미널 창이 없다면 메뉴 모음 터미널(T)새 터미널을 클릭하시면 됩니다.

3. gcc 파일명.c -c 또는 gcc .\파일명.c -c 를 입력합니다.(당연하게도, 파일 경로가 맞다는 전제 하에...)

4. 파일명.o 파일이 생성되었습니다.

 

저의 글을 읽어 주셔서 감사합니다.

제가 잘못 설명한 부분이 있다면 지적해 주세요.

궁금하신 점이 있다면 댓글로 질문해 주시기 바랍니다. 제가 아는 범위 안에서 답변해 드리겠습니다.

다음에 만나요!

 

댓글을 달아 주세요

728x90

수성비전자방입니다. 오늘은 Visual Studio Code 설치 및 한국어 패치 방법에 대해 알아보겠습니다.

Visual Studio CodeMicrosoft에서 배포하는 개발자를 위한 도구입니다. 사적 이용 및 상업적 이용이 무료입니다.

 

Visual Studio Code 설치하기

1. https://visualstudio.microsoft.com/ 에 접속합니다.

2. Visual Studio 코드 다운로드를 클릭합니다.

 

3. 본인 운영체제를 클릭합니다. 저는 Windows PC를 사용하므로 Windows x64를 클릭했습니다.

 

4. 새 탭이 열리는데 아래쪽을 보시면 내려받으라고 배너가 생겼을 것입니다.

 

5. 내려받아 실행하시면 위와 같은 창이 뜰 것입니다. 사용권 계약을 잘 읽어보시고, 동의하신 후 다음을 클릭합니다.

 

6. 설치 위치를 선택하는 화면입니다. 다음을 클릭합니다.

 

7. 시작 메뉴 폴더를 만드는 화면입니다. 다음을 클릭합니다.

 

8. 추가 작업을 선택하는 화면입니다. ‘PATH에 추가한다는 것이 환경 변수 ‘PATH’에 추가하겠다는 뜻 같은데 잘 모르겠습니다. 왠지 체크하면 좋을 것 같습니다. 다음을 클릭합니다.

 

9. 설치합니다.

 

10. Visual Studio Code를 실행해 보겠습니다.

 

첫화면입니다. 왼쪽을 보면 아이콘들이 보이는데

 

각각 이런 기능입니다.

이제 한국어 패치를 해 보겠습니다. 한국어 확장을 설치하면 됩니다. 아래의 11번부터 시작합니다.

 

한국어 확장팩 설치

11. 확장을 클릭합니다.

12. Korean을 검색합니다.

13. Korean Language Pack for Visual Studio Code를 클릭합니다.

14. Install을 눌러 설치합니다.

 

15. 오른쪽 아래에 VS Code를 재시작하라는 창이 뜹니다. Restart Now를 클릭하면 재시작됩니다.

 

한국어가 적용되었습니다.

 

인코딩

이 부분은 상황에 따라 적용해야 할 때도 있고, 적용하지 않는 것이 좋을 때도 있습니다. 파일마다 적용하는 것이니 매번 잘 판단하셔서 적용하시기 바랍니다.

오른쪽 아래 UTF-8을 클릭하시면 위에 목록이 나오는데 인코딩하여 다시 열기를 클릭합니다.

 

Korean을 검색하셔서 Korean(EUC-KR)을 선택하시면 됩니다.

 

저의 글을 읽어 주셔서 감사합니다.

Visual Studio Code에서는 여러 언어로 프로그래밍이 가능합니다. 다만, 해당 언어에 대한 확장이나 컴파일러는 직접 설치하셔야 합니다.

2021123일 토요일 C언어 컴파일을 위한 확장 설치와 GCC 설치 방법에 대한 글을 올릴 예정입니다. 본문 아래에 있는 네이버 이웃 추가 또는 구독하기를 클릭하여 수성비전자방을 구독해 주시면 새 글이 올라왔을 때 확인하실 수 있습니다. 많은 이용 부탁드립니다.

다음에 만나요!

 

댓글을 달아 주세요