2012-12-06 3 views
0

ARM 아키텍처 용으로 sys_mycall 사용자 정의 시스템 호출을 구현했습니다. 건물을 만들고 전화로 다운로드 한 후 로그에 sys_mycall이 실행 중임을 보여줍니다.Linux에서 C에서 사용자 정의 시스템 호출을 호출하는 방법

내 의심의 여지가 있습니다 :

  1. 나는 C 파일에서이 시스템 콜을 호출 할 방법에 대해 설명합니다.
  2. 어떻게 든이 시스템 호출을 java (JNI 또는 뭔가 사용)에서 호출 할 수 있습니까? Android에서이를 구현하는 방법에 대한 힌트가 필요합니다.
+1

자신 만의 시스템 호출이 필요합니까? 일반적으로 이것은 나쁜 생각입니다! 그냥 장치 드라이버를 만들 수 없다 .. ??? –

+0

사실 저는 전체 애플리케이션 흐름이 어떻게 작동하는지 이해하려고합니다. 하단 (Linux 커널)부터 상단 (응용 프로그램 계층)까지. – Aakashdeep

+1

http://tldp.org/HOWTO/Assembly-HOWTO/을 읽어보십시오. x86과 관련이 있지만 ARM으로 변환 할 수 있고해야합니다. –

답변

3

1) int syscall(int number, ...)에 대해 int syscall(int number, ...)을보고 sys 호출을 호출하고 원하는/원하는 매개 변수를 전달할 수 있어야합니다.

2) 예, 여기에 JNI를 사용하십시오. C 코드를 호출하는 JNI 함수를 만들고 거기에서 syscall 만 만듭니다. 이 안드로이드 NDK

here을 사용하여 수행 할 수 있습니다

1

안드로이드 응용 프로그램에서 C 코드를 호출하는 예입니다.

관련 문제