전체 글 37

#3 Linux ( 프로그램 실행 )

fork() 후 자식프로세스는 부모 프로세스와 똑같은 코드를 실행함 자식프로세스에게 새 프로그램을 실행하게 하려면 ? -> exec() 시스템호출 사용 * int execl( char *path,char* argv0, char* argv1,......,char* argvn,NULL) * int execv( char *path,char * argv[]) // p 가 붙은 것들은 경로로 실행파일을 지정함 , 따라서 실행파일의 이름만 지정해서 인자에 넣어준다 * int execlp( char *file,char* argv0, char* argv1,......,char* argvn,NULL) * int execvp( char *gile,char* argv[]) char *path : 프로그램의 상대/절대 경로를..

Linux 2022.11.22

#2 Linux ( 프로세스 )

* 프로세스 생성 fork() - 자식 프로세스에게는 0을 리턴 - 부모 프로세스에게는 자식 프로세스의 id 리턴 - 서로 offset 을 공유함 다음은 부모 프로세스와 자식프로세스의 그룹아이디 ( getpid() 값 살펴보기 ) 예제와 결과화면 #include #include #include int main() { int pid; pid = fork(); // 자식 프로세스 생성 , 자식프로세스는 0,부모는 자식 프로세스id 를 리턴 if(pid==0) { // 자식 프로세스 , 리턴값이 0 이므로 printf("[Child] : hello pid = %d \n " ,getpid()); } else { // 부모 프로세스 printf("[Parent] : Hello pid = %d \n ",getpid..

Linux 2022.11.22

Github ( branch )

* 파일삭제 git rm [파일이름] *삭제한 파일 커밋 git commit *파일이름변경 git mv [파일 이름] [ 새 파일 이름 ] git commit *master 브랜치 : git init 에 의해 처음으로 저장소가 초기화될때 기본으로 생기는 브랜치 * git brach -a // 브랜치 목록 보기 * 브랜치생성 $ git branch [브랜치이름] [시작위치( 생략가능) ] $ git branch [ 브랜치이름 ] $ git branch -a. // 추가된 브랜치 목록 확인 *작업 브랜치 변경 $ git checkout [브랜치이름] switched to brach ‘브랜치이름’ $ git branch -a

카테고리 없음 2022.11.08

Github 에 파일 올리기

커맨드창에서 . 1. cd 올릴 파일이 있는 폴더/디렉토리 2. ls // 현재 파일이 있는지 확인 3. git init // 깃 저장소 초기화 4. git status // 현재 브랜치 확인 및 커밋 사항 확인, 작업 폴더 확인 5. git add . // ( 폴더 안에 있는 모든 내용 add ) or git add 파일/디렉토리경로 6. git commit -m "깃에 전달메시지" // 전달 메시지는 그렇게 중요하지 않은듯,,합니다.. 7. git remote add origin 레파지토리주소 // 본인의 깃허브에 올릴 repository 주소(respository 에들어가면 주소가 있으니 복사해서 가져오시면 됩니다.) 8. git push origin master // 커밋할 파일 push 을 하고..

카테고리 없음 2022.11.04

#1 Linux

Linux 첫 게시글로 파일을 잠그는 일을 해보겠슴니다.. 먼저 잠금( Lock ) : 2개 이상의 process 가 동시에 하나의 resource 에 접근하려고 할 때 생기는 문제점을 해결하기 위한 기법 위와 같이 2개의 프로세스가 한 파일에 동시에 접근하려 할때.. ( 2개 이상이 될 수 도 있겠죠 ) 문제점이 발생합니다. 그래서 Lock 을 걸어서 생기는 문제점을 해결해 주어야 하는데요 위 사진은 프로세스 A가 lock 을 한 경우 입니다. 1. 프로세스A 가 Lock 을 걸고 2. read / write 실행 3. 이때 프로세스 B가 접근하려 하지만 A의 Lock이 걸려있으므로 현재 접근 불가 이때 B 는 2가지 경우를 생각해볼 수 있는데 3-1 ) B가 Lock 을 얻지못한다면 에러를 retur..

Linux 2022.11.02

#2 유니티(Unity) - Transform

저번에는 간단한 키보드 조작을 통해 물체를 이동시키는것을 알아보았습니다. 이번엔 Transform 를 이용해 원하는 곳으로 물체를 바라보게 한 후 그대로 이동하는 것을 해보도록 하겠습니다. void Update() { Vector3 dir = Vector3.zero; // 0벡터 생성 if (Input.GetKey(KeyCode.UpArrow)) { transform.Translate(transform.forward * 2.0f * Time.deltaTime); dir += transform.forward; } if (Input.GetKey(KeyCode.DownArrow)) { transform.Translate(transform.forward * -2.0f * Time.deltaTime); dir +..

Unity 2022.11.01

#1 유니티(Unity)

시작은 간단하게 복습 차원으로 공부했던 키보드 / 마우스 입력과 Transform 에 대해 알아 보겠습니다. . . 그전에 자바 공부하면서도 헷갈렸던 foreach 문을 복습할겸,, void Start() { int[] arr = { 1,2,3}; foreach(int i in arr) { Debug.Log(arr[i]); } } . . 이제 본격적으로 유니티 스크립트에서 키보드 / 마우스 입력에 대해 알아보겠습니다. - Input 입력과 관련된 것들을 모아놀은 클래스 - GetKey 스크립트에서 설정한 키를 누르게 되면 true 가 반환되는 메소드 -KeyCode enum 타입이며 특정한 key 를 선택할 수 있음 - Input.GetKey 키가 계속 눌린 상태 - Input.Get..

Unity 2022.11.01