본문 바로가기
728x90

안드로이드4

[C/C++] 안드로이드에서 C/C++로 개발해보기 - C++에서 받아온 문자열 출력하기 안드로이드에서 네이티브 프로그램으로 프로그래밍해보자. 1. Native C++로 먼저 프로젝트를 만들어준다. 프로젝트명 : Chapter02 2. activity_main.xml 기본적으로 제공되는 xml파일을 사용한다. 3. MainActivity.java 1) 텍스트 뷰 연결 2) 문자열, 정수를 네이티브 함수로 넘김 3) 네이티브 함수의 결과를 화면에 출력시킴 4) getLine() 네이티브 함수 package com.example.chapter02; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends.. 2022. 8. 14.
[C/C++] 안드로이드 fatal signal 11 (sigsegv), code 1 오류 해결 [오류 코드] a/libc: fatal signal 11 (sigsegv), code 1, fault addr 0x6b in tid 22996 [해결] 안드로이드 돌리다가 에러나서 저게 뭐지,,, 식겁했는데 cpp에서 출력 타입을 잘못 쓴 거임,, int를 %s로 해놨음,,, 손가락 뚱뚱인가봄ㅠ 안드로이드 접을 뻔,, 암튼 오류 나면 코드 차근차근 확인하기,,,✨ 2022. 8. 11.
[C/C++] 안드로이드 NDK 개발 환경 (LLDB/CMake/NDK) -안드로이드 스튜디오 LLDB 없음 NDK 개발 환경 (LLDB/CMake/NDK) -안드로이드 스튜디오 LLDB 없음 C/C++로 안드로이드 개발을 시작할 때 LLDB/CMake/NDK 이 세 가지를 인스톨해야 하는데 아무리 찾아봐도 LLDB는 없다. 안드로이드 재설치했는데도 없길래 접을뻔 [해결] NDK 및 CMake 설치 및 설정 | Android 개발자 | Android Developers NDK 및 CMake 설치 및 설정 앱의 네이티브 코드를 컴파일하고 디버그하려면 다음 구성요소가 필요합니다. Android 네이티브 개발 키트(NDK): Android에서 C 및 C++ 코드를 사용할 수 있도록 해주는 도구 모 developer.android.com 위 사이트에 들어가보면 기본적으로 LLDB는 Android 스튜디오와 함께 설치된.. 2022. 8. 10.
[C/C++] 안드로이드 프로그래밍 - 자바 가상 머신(JVM) 자바 가상 머신(JVM)의 구조 1) 클래스 로더(ClassLoader) : 실시간으로 프로그램이 요구하는 클래스들을 자바 가상 머신으로 탑재하는 기능. 2) 실행시간 데이터 영역(RunTime Data Areas) : 프로그램을 실행시킬 때 사용하는 메모리 영역을 관리함. - pc 레지스터 : 스레드 별로 사용하는 레지스터의 데이터를 보관하는 데 사용. 메소드가 자바 클래스 내 메소드가 아닌 네이티브 메소드라면, 일반 실행 프로그램처럼 커널에 의해 실행되기 때문에 자바 가상 머신에서 관리하지 않는다. 따라서 자바 가상 머신은 별도 네이티브 메소드를 위한 PC 레지스터 영역을 잡지 않는다. - 자바 가상 머신 스택 : 스레드별로 별도 스택을 생성하고 관리하고, 스레드별로 생성된 스택은 스레드가 필요한 데.. 2022. 8. 9.
728x90