java混编_java代码与纯C代码混编完成android应用的开发

}

char* userSpace() {

struct passwd *pw;

char aaa[32] = "abc";

pw = getpwuid(getuid());

strcpy(aaa, pw->pw_name);

char hostn[32] = { 0 };

gethostname(hostn,

sizeof(hostn));

char path[50] = { 0 };

char* hello;

hello = malloc(32);

strcpy(hello, "123456");

return hello;

// strcat("@", strcat(hostn, strcat(":",

strcat("$", "\\n")))));

}

=================================================

=================================================

Header.h

#ifndef HEADER_H_

#define HEADER_H_

int sum(int a, int b);

#endif

===============================================================

# Copyright (C) 2009 The Android Open Source

Project

#

# Licensed under the Apache License, Version

2.0 (the "License");

# you may not use this file except in

compliance with the License.

# You may obtain a copy of the License

at

#

#http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed

to in writing, software

# distributed under the License is

distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY

KIND, either express or implied.

# See the License for the specific language

governing permissions and

# limitations under the

License.

#

LOCAL_PATH := $(call my-dir)

#========================

my_swig_generate.mk(文件信息)

include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni

LOCAL_SRC_FILES := hello-jni.c

Header.c

MY_SWIG_PACKAGE :=

com.apress.swig

MY_SWIG_INTERFACES := Unix.i

MY_SWIG_TYPE := c

include

$(LOCAL_PATH)/my_swig_generate.mk

include

$(BUILD_SHARED_LIBRARY)

==============================================

Android.mk

ifndef MY_SWIG_PACKAGE

$(error MY_SWIG_PACKAGE is not

defined.)

endif

MY_SWIG_OUTDIR:=

$(NDK_PROJECT_PATH)/SRC/$(SUBST

.,/,$(MY_SWIG_PACKAGE))

ifndef

MY_SWIG_TYPE

MY_SWIG_TYPE := c

endif

ifeq ($(MY_SWIG_TYPE),cxx)

MY_SWIG_MODE := - c++

else

MY_SWIG_MODE :=

endif

LOCAL_SRC_FILES+= $(foreach

MY_SWIG_INTERFACE,\\

$(MY_SWIG_INTERFACES),\\

$(basename

$(MY_SWIG_INTERFACE))_wrap.$(MY_SWIG_TYPE))

LOCAL_CPP_EXTENSION+= .cxx

%_wrap.$(MY_SWIG_TYPE) : %.i

$(call

host-mkdir,$(MY_SWIG_OUTDIR))

swig -java \\

$(MY_SWIG_MODE) \\

-package $(MY_SWIG_PACKAGE)

\\

-outdir $(MY_SWIG_OUTDIR) \\

$<

先简单说一下,如果我们只是单单使用的swig来完成这个代码的jNI使用,只能使用库函数中的代码,除了库中的代码之外其他的代码都不能使用这里说的其他代码也就是我说的自定义代码,header.c里面的代码

我们的i文件只能时一个接口,不能再里面直接写代码语句所以我们通过.so库的形式进行了链接然后实现了我们的功能。

华清远见在面对巨大挑战的同时,在业务和课程方面不断加大投入,在接下来的2017课程研发上投入的预算高达企业总营收的10%,真正体现了“专业始于专注,卓识源自远见”的企业发展理念。而出色的质量控制和学员的高度认可,则成为华清远见创业10多年的立足之本,为华清远见树立了良好的企业形象,也为未来持续稳定的快速发展奠定了坚实基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值