본문 바로가기

전체 글

(195)
12장. 포인터의 이해 int* A;//int 형 포인터 a [포인터란] [포인터와 포인터 변수] 메모리의 주소값을 저장하기 위한 변수 "포인터"를 흔히 포인터 변수라 한다. 주소값과 포인터는 다르다 포인터의 크기는 컴퓨터의 주소 체계에 따라 결정되며 , 32비트 시스템은 4 바이트다. [포인터 타입과 선언] 포인터 선언시 * 연산자를 사용한다. A형 포인터 (A*) : A형 변수의 주소값을 저장 int * a;// int형 포인터 a float * b;// float 형 포인터 b [주소관련 연산자] * 연산자 : 포인터가 가리키는 메모리 참조 & 연산자 : 변수의 주소값 반환 int a=3; int* b= &a; printg("%d",a);//3 printg("%d",b);//19922456 :주소값 printg("%d",..
11장 . 1차원 배열 [배열이란] [배열이란] 둘 이상의 변수를 동시에 선언하는 효과를 지닌다. 많은 양의 데이터를 일괄적으로 처리해야 할 경우 유용하다. 지역적 특성/전역적 특성 모두 가질 수 있다. [배열선언] 배열요소 자료형 + 배열이름 + 배열의 길이 (변수의 개수) 로 구성된다 배열 요소의 위치는 0부터 시작하며 인덱스로 표현한다 ex) Array[6]; - 7번째 배열 int Array [10]; [배열 초기화] 선언 후 초기화 선언과 동시에 초기화 : 이때는 배열의 길이를 생략 할 수 있다. [배열기반 문자열 변수] [문자열의 특징] 문자열은 null 문자를 끝에 지닌다 : 문자열의 끝을 표현하기 위해 / 쓰레기 값과 실제 문자열의 경계를 나타내기 위해 Printf는 null 문자를 통해 출력의 범위를 정한다. ..
[IOS]유니티 애플로 로그인 구현하기 1 [Overview] [개요] 2020년 4월 이후로 다른 소셜로그인을 제공한다면 (페이스북 , 구글 등) 애플 로그인을 같이 제공하지 않으면 업데이트 거절 사유가 되었다. ios 서비스를 위해 애플 로그인을 구현하려 한다. [설치] =>설치는 두가지 방식을 지원한다 . [Unity Package Manager 사용] 유니티 2018.3. 버전부터 가능하다.유니티 프로젝트를 Show in Explorer로 열면 Packages/manifest.json가 있다. manifest.json에 하단 내용을 추가한다. Manifest에 관하여 "dependencies": { "com.lupidan.apple-signin-unity": "https://github.com/lupidan/apple-signin-unit..
[IOS]애플 개발자 계정 (ios 인증서와 프로비저닝) [개발자] [개발자 계정] Apple Developer =>계정은 대략 12만9천원 ( 99$ )이며 사용기간은 1년이다 . [준비물] =>애플 계정 / 계정내 국가,지역 인증 / 이메일 인증 / 휴대폰 번호 인증 / 이중 인증 설정 만약 이중인증 옵션이 켜져 있지 않다면 =>Apple ID의 이중 인증 을 참고하자 [계정 구매] =>애플 계정 구매 를 참고하자. [인증서 생성] [파일 생성] => ios 앱을 개발할 Mac에서 LauchPad => 기타 => 키체인 접근 실행 상단의 키체인 접근 - 인증서 지원 - 인증기관에서 인증서 요청을 눌러 인증서 지원창을 켜준다. [파일 삭제] => 키체인 접근에 들어가서 삭제가 가능하다 => 디스크에 저장됨 선택후 이메일 주소/이름을 입력후 계속을 선택한다. ..
[IOS] IOS에서 GPGS 애플 ios에서는 자체적으로 GameCenter를 사용한다 .GPGS를 지원하지 않기에 , 빌드시 포함되지 않는다. GPGS가 이미 포함된 프로젝트의 경우 빌드별로 일일이 삭제하기는 번거롭다 . 해당 문제를 해결하는 간단한 방법은 이렇다 . 빌드시 (ios)PlayerSetting => Player => Otehr Setting => Scripting Define Symbols => ;NO_GPGS를 추가해준다 참고 https://mmzzuu.tistory.com/56 https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/README.md#excluding-all-google-play-game-services-when-bu..
[IOS]유니티 프로젝트 빌드하기 *먼저 , 개발자 계정 설정을 먼저 진행후 시작할 것 개발자 계정 설정 [유니티에서 빌드하기] [유니티에서 빌드하기] 앱을 ios 로 빌드하려면 두 단계를 수행해야 한다. Unity가 Xcode 프로젝트를 빌드한다. Xcode가 해당 프로젝트를 기기에 빌드한다. [버전 / 사용기기] [유니티] 2021.3.5f1 버전 사용 맥북 프로 아이폰 13 [XCODE] [설치] XCODE는 MacOS에서 사용 할 수 있는 통합개발환경(Intergrated Development Environment , IDE)이다. 설치는 앱스토어 혹은 애플 개발자 사이트에서 가능하며 macOS 11.3 이후부터 지원한다 . https://developer.apple.com/download/ 애플 개발자 사이트에서 받을 수 있는 ..
메모리 구조 [프로그램의 실행 순서] [프로그램의 실행 순서] 프로그램의 실행을 요청한다. 실행을 위해 프로그램의 정보를 얻어 메모리에 로드한다. CPU는 프로그램 코드를 가져다 메모리를 관리,명령문을 실행한다. 동적 메모리가 할당되면 FreeStore 영역을 사용한다 (위에서 아래로) 스택 메모리가 할당되면 FreeStore 영역을 사용한다 (아래에서 위로) [메모리 공간] [메모리 공간] 컴퓨터의 운영체제 (OS)는 프로그램의 실행을 위한 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같다. [코드 영역] 작성한 소스코드가 들어가는 부분이다 (실행할 프로그램의 코드) .텍스트 영역이라고도 부른다. 실행파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수,..
9장 . C언어의 핵심 함수 [함수의 정의와 선언] [Main함수 다시보기] int (반환의 형태) Main (함수의 이름) (void (입력의 형태)) { (몸체의 시작) 함수의 몸체 } (몸체의 끝) [함수를 정의하는 이유] 모듈화에 의한 프로그램의 질 향상 유지 보수 및 확장의 용이성 문제 해결의 용이성 : Divde & Conquer [함수선언의 필요성] 컴파일러의 특성상 , 함수는 호출되기 전에 정의되어야 한다. 원형을 선언하고 , 후에 정의를 하여도 된다. int Add(int a, int b); int main(void) { Add(3,4); return 0; } int Add(int a,int b) { return a+b; } [함수 호출 과정의 이해] #include int Add(int i,int j) { int ..