- linux manual : kill == ‘send a signal to a process’
(process 끝내기는 [9]SIGKILL signal로 정의되어 있음 => -l 참조)
- cmd2가 먼저 close 되는 경우?
- (1은 SIGPIPE signal을 받아서 종료될 수도, 유지될 수도 있음)
- 파이프도 &연산자로 r/w 묶어서 사용할 수 있는 거 기억하기
- pipe는 git에 안 올라감, named pipe는 mkfifo 명령어
- C code로 pipe 쓰기 : FILE *popen(*cmd, *type)
- type -> read, write
- WSL2나 Docker 쓸 때는 install man 필요함 > 근데 용량 큼 주의
-*그래서 그냥 git bash 설치하는 게 빠를지도*
-*WSL2은 Valgrind/Valyrie 페이지 참고해서 툴 설치해서 쓰면 좋을 듯*
</br><br>
**cmake 명령어: 빌드 결과물로 makefile 생성**
VS code -> based on ‘Electron’ SW framework
(Previously, Atom Shell -> why Atom expansions are easily attached to VS code)
*Node.js으로 개발 -> extension으로 GitHub manual 추가하는 것도 고려해볼만*
**Optimization의 전처리 단계 : Profiling이 필수적임(최적화 타겟을 분석)**
-> profiler가 감지한 최적화 대상이 혼재하면 최적화 효율이 떨어지는 거고, 그 반대면 비약적으로 효율 증대 가능
==> 결론적으로 compiler가 중요쓰
컴파일 단계도 2 phase로 구분 가능
- Phase 1: C preprocessing (compile # files -> check out ‘.i’ format files after cpp command. Compiled codes will be fetched at the bottom of the .i files)
- Phase 2: compile ‘user’ C codes
- Final Phase: after P1 and P2, combine every created c code and create an assembly file
*loading의 핵심은 disk file system으로부터 memory의 code부에 ‘실행(executable)’ 파일을 copy? 였나 아니면 patch하는 거였나….<<<*
*code generation procedure에서의 cpp의 의미는 C preprocessor*
**compiler normally assumes x86-64 environment, but cross compilers for different OS and CPU versions do exist**
**cpp command에 redirection을 사용할 수 있다는 것 == output이 stdout으로 출력됨**