마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

NDK 관련 질문이있습니다.ㅠㅜ

0 추천
기존 CPP 소스를 가져와서 NDK에서 수정없이 바로 사용할수 있나요?

지금까지 해본 결과 은근히 많은 수정이 가야지 사용할수있더라구요.

 

아니면 windows에서 작성한 C 와 Linux에서 작성한 C가 다른지 알고싶네요. 어쨌든 안드로이드는 리눅스기반이니깐 다른가하는 생각이 드네요.
롤케이크 (160 포인트) 님이 2015년 6월 17일 질문

3개의 답변

0 추천
스탠다드 라이브러리만 사용 하였다면 크게 수정없이 ndk 빌드가 되구요. window 플랫폼에 종속적인 라이브러리를 사용하여 코딩 되었다면, 많이 수정하셔야 합니다. ndk 빌드 돌리면 window 함수 사용하는데서 다 에러 떠러져서 컴파일 할려면 window 함수를 다 구현해야 가능 하죠. 아니면 이 부분을 분석하여 없이도 돌아가도록 수정이 가해져야 빌드가 됩니다.
ㄱㄴㄷ 님이 2015년 6월 17일 답변
0 추천
윈도우랑도 다르고 리눅스랑도 달라요.

안드로이드 NDK에 대해서 알아보시면 아시겠지만 지원가능한 범위가 리눅스전체범위보다 협소합니다.

표준 C와 C++의 최소 지원 정도로 한다고 설명이 되어 있습니다.

그리고 windows용을 어떻게 만드셨느냐가 중요한 관건이긴한데.

mfc나 win32api나 이런 윈도우전용인 것들이 포함되어 있으면 이부분을 새롭게 만드셔야합니다.

그런데 저런 라이버러리를 사용않고 윈용 만든 것을 찾아보기가 어려울듯 합니다.

아무튼 바로 사용하려고 <- 만들때 부터 여러기종(window,dos, unix, linux)을 지원( 크로스컴파일환경)을 고려하지 않고 개발된 것은 포팅할양이 매우 많아지고 또 저걸 생각하고 하셨드래도 안드로이드라는 새로운 환경을 고려하실때는 수정할 부분들이 분명 생기게 됩니다.

그게 아니라면 아예 표준 C라이버러리에서 사용하는 정도이외의 모든 코드는 직접 구현한것이라면 말이 달라지겟지요.
컴러기 (22,230 포인트) 님이 2015년 6월 17일 답변
0 추천
C와 c++개념도 모르는 상태에서는 애초에 ndk개발은 불가능합니다.

안드로이드 자바는, 잘 몰라도 대충 블로그 소스들 짜깁기해서 에러나더라도 흉내라도 낼 수 있지만,

C계열은 본인이 확실히 알거나 시간을 할애하여 알아가고 있는 상태아니면 개발 불가능하다고 봐야합니다.

왜냐면, 질문이 애초에 c기초서적(교과서) 제 1 장에 나오는 내용도 전혀 모른 다는 얘기 밖에 안되네요.

이 질문에 대한 답을 어렴풋이 얻어가더라도,

바로 직후 단계부터 계속 막힐겁니다. 방향을 다시한번 고민해보세요.

c를 다시 공부좀 처음부터 좀 보고 재도전하던지, c쪽은 포기하던지 말이죠.
익명사용자 님이 2015년 6월 18일 답변
...