본문 바로가기

전체 글24

Interpreter & Compiler (인터프리터, 컴파일러) Interpreter(인터프리터)란? 소스코드를 한 줄씩 읽고 즉시 실행하는 컴퓨터 프로그램 또는 환경이다. 실행시 마다 코드를 번역해서 읽고 실행한다. 대표언어 : python, Javascript 장점 :별도의 컴파일이 없어서 빌드시간이 필요없다.개발시간이 빠르다.수정이 간편하다. (컴파일러 처럼 조금 수정하고 다시 전체를 빌드하고 하는 과정이 없다.)운영체제나 아키텍처에 종속적이지 않다.(해당 언어의 인터프리터만 설치되어 있다면 같은 코드를 다양한 환경에서 실행 가능하다)디버깅이 쉽다. 단점 :런타임 시점에 해석을 하기 떄문에 실행속도가 컴파일 언어보다 느리다.Compiler(컴파일러)란? 고급언어로 작성된 코드 전체를 기계어나 바이트코드같은 저급언어로 번역 및 실행 파일을 생성하는 프로.. 2025. 12. 28.
Call by value, Call by reference call by value(값에 의한 호출) 함수를 호출 하면서 값을 복사하여 전달하는 방식을 값에 의한 호출(Call by value) main() 함수에서 swap() 함수로 변수를 전달하면서 변수를 직접 참조하는게 아니라 변수의 값이 복사되기 때문에 swap() 함수안에서 a, b를 바꿔도 복사본이 바뀌고, main() 함수 안의 변수 값은 바뀌지 않음. Call by Reference (주소에 의한 호출) 함수에서 값의 복사가 아닌 주소를 다른 함수에 전달하는 방식이 주소에 의한 호출 (Call by reference) main() 함수에서 swap() 함수로 a, b의 주소값을 전달한다. swap()함수의 매개변수는 주소값을 저장할 수 있는 포인터여야만 한다. swap()함수안에 포인터 변수는 m.. 2023. 4. 28.
이중포인터 정수형 변수 생성 : int a; 포인터 변수 : 주소를 저장할 수 있는 변수. 정수형 포인터 생성 : int *b = &a; 그렇다면 포인터 변수의 주소를 저장할 수 있는 변수는 어떻게 만들어야 하나. 포인터의 포인터 변수를 사용하여 만든다. 즉,이중포인터 int **c = &b; 의 형태로 만든다. ex) int a = 10; 정수형 변수 a생성 후 10으로 초기화 (100번지) a에 저장된 값 : 10, a의 주소값 : 100번지 int *b = &a; 정수형 포인터변수 b 생성 후 변수a의 주소값 저장. b에 저장된 값 : 100번지, b의 주소값 : 200번지 int **c = &b; 정수형 이중포인터 변수 C 생성 후 포인터변수 b의 주소값 저장 b에 저장된 값 : 100번지, b의 주소값 :.. 2023. 4. 28.
유니티) 체력바 구현하기 체력바를 만들려면 일단 체력바 소스 이미지가 필요하다. 나는 그냥 소스 이미지를 그림판에서 빈 흰색 그림을 저장을 하여 사용하였다. 일단 하이어라키에 빈 오브젝트로 HpBar를 만들어주고 안에 이미지로 HpBar와 BackGround를 만들어 줬다. 이건 플레이어나 Hp가 있는 오브젝트에 그냥 붙혀 쓰려고 prefab형식으로 만들었다. 크기를 적당히 맞춰준 후 소스이미지를 넣어주고 체력을 빨간색으로 지정하기로 해서 Color를 빨강으로 설정 BackGround는 Hp가 얼마나 달았는지 상대적으로 보여주기 위해그냥 같은 사이즈의 흰색 이미지를 만들었다. 그후에 Image Type을 Filled타입으로, Method를 Horizontal, Fill origin을 Right로 맞춰준다. 이렇게하면 체력바가 오.. 2023. 4. 28.