Redis 소스 코드 환경 구축 과정 상세 설명
최근 에 장 덕 균 은 레 디 스 소스 코드 분석 과정 에 새로 들 어 갔 는데 친구 심 구조 사의 요청 에 따라 레 디 스 소스 코드 학습 을 다시 주 웠 다.그러나 진지 한 JAVA 엔지니어 로 서 대학 을 졸업 한 후에 C 언어의 소스 코드 를 다 시 는 써 본 적 이 없 을 것 이다.레 디 스 읽 기 환경 만 들 고
그러나 윈도 우즈 환경 에서 구 축 된 것 이 아니 라 deepin 시스템 에서 구 축 된 것 이기 때문에 윈도 우즈 사용 자 는 외출 해서 우회전 할 수 있 을 것 이다.이번 구축 환경 은 주로 다음 과 같은 두 편의 windows 구축 환경의 블 로 그 를 참고 한다.
https://juejin.cn/post/6924329599568445447
https://www.jb51.net/article/218312.htm
C 언어 환경
대학 시절 vc 6.0,vs 2012 등 소프트웨어 로 C++언어 를 쓴 적 이 있다.Liux 에서 c 언어 코드 를 컴 파일 한 적 이 있 습 니 다.Liux 환경 에서 gcc,make 도 구 를 가지 고 있 습 니 다.windows 환경 에서 MinGW,cygwin 을 선택 하여 컴 파일 환경 을 제공 할 수 있 습 니 다.make,cmake 는 Makefile 파일 을 실행 할 수 있 습 니 다.
그런데 저 는 리 눅 스 시스템 을 사 용 했 잖 아 요.C 언어 환경 을 구축 하 는 과정 도 없어 요...
C 언어 IDE
VC 6.0 같은 골동품 은 언어 초보 자 들 이 자신의 문법 을 강제로 기억 하 는 데 만 적합 할 것 이다.vs 2012 패 키 지 는 매우 크 고 Liux 환경 에서 패 키 지 를 설치 한 적 이 있 는 지 없 는 지 는 두 가지 로 말 합 니 다.여기 서 선택 한 일 은 jetbrains 가문 의 Clion 입 니 다.홈 페이지 에는 설치 패 키 지 를 제공 하고 있 습 니 다.물론 Deepin 이 앱 시장 을 제공 한 것 처럼 원 클릭 으로 설치 할 수도 있 습 니 다.
처음 시작 할 때 CLION 은 C 언어 환경의 실행 기 를 선택 하 게 합 니 다.물론 기본적으로 스 캔 되 며 확인 하면 됩 니 다.
클론 소스 코드
Clion 을 열 고"get from version control"을 선택 하고 URL 을 직접 입력 하 십시오.https://github.com/redis/redis.git 클론 을 진행 합 니 다.
배치 공정
makefile
프로젝트 루트 디 렉 터 리 에 make 명령 을 입력 하여 Makefile 을 실행 합 니 다:
wanglh@dark:~/CLionProjects/redis$ make
cd src && make all
make[1]: “/home/wanglh/CLionProjects/redis/src”
CC Makefile.dep
CC adlist.o
물론 프로젝트 에서 Makefile 파일 을 클릭 하면 Clion 도 Makefile 플러그 인 Makefile Support 를 설치 하 라 고 알려 줍 니 다.그리고 파일 오른쪽 에 있 는 녹색 실행 키 를 누 르 면 됩 니 다.그 후에/src 디 렉 터 리 에 많은.o 파일 을 생 성 합 니 다.
DEBUG 명령 설정
CLion 오른쪽 상단 창 에서 Edit Run/Debug Configurations 를 누 르 면 다음 설정 을 할 수 있 습 니 다(선택 상 자 를 선택 하면 됩 니 다).
대상 선택 redis-server 실행 가능 한 선택 redis-server
실행 DEBUG
DEBUG 버튼 을 누 르 면 DEBUG 의 CONSOLE 에서 출력 됩 니 다.
/home/wanglh/CLionProjects/redis/src/redis-server
19707:C 27 Jul 2021 23:24:49.989 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
19707:C 27 Jul 2021 23:24:49.989 # Redis version=255.255.255, bits=64, commit=17511df5, modified=0, pid=19707, just started
19707:C 27 Jul 2021 23:24:49.989 # Warning: no config file specified, using the default config. In order to specify a config file use /home/wanglh/CLionProjects/redis/src/redis-server /path/to/redis.conf
19707:M 27 Jul 2021 23:24:49.990 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 255.255.255 (17511df5/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 19707
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
19707:M 27 Jul 2021 23:24:49.990 # Server initialized
19707:M 27 Jul 2021 23:24:49.990 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
19707:M 27 Jul 2021 23:24:49.992 * Loading RDB produced by version 255.255.255
19707:M 27 Jul 2021 23:24:49.992 * RDB age 14593 seconds
19707:M 27 Jul 2021 23:24:49.992 * RDB memory usage when created 0.77 Mb
19707:M 27 Jul 2021 23:24:49.992 * DB loaded from disk: 0.000 seconds
19707:M 27 Jul 2021 23:24:49.992 * Ready to accept connections
이렇게 하면 시작 이 성공 했다 는 뜻 입 니 다.저 희 는 redis 클 라 이언 트,redis-cli 로 검증 할 수 있 습 니 다.
wanglh@dark:~/CLionProjects/redis/src$ pwd
/home/wanglh/CLionProjects/redis/src
wanglh@dark:~/CLionProjects/redis/src$ ls -l redis-cli
-rwxr-xr-x 1 wanglh wanglh 6689040 7 27 23:15 redis-cli
wanglh@dark:~/CLionProjects/redis/src$ redis-cli
127.0.0.1:6379> set a nn
OK
127.0.0.1:6379> get a
"nn"
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
레 디 스 소스 환경 구축 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.레 디 스 소스 환경 에 관 한 더 많은 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 희 를 많이 사랑 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
그래프 구조를 무상으로 취급할 수 없는 것은 싫기 때문에, redisgraph를 WSL2에 극치고 설치해 보았습니다.제목은 만우절이므로. 그렇다, 역시, 앞으로는 그래프 구조 데이터베이스라고 생각했다. 생각한 것은 몇 년 전인가. 전부터 Neo4j는 시험하고 있지만, 영업 분들로부터 상용 라이센스가 높다고 가르쳐 주었으므로, 전전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.