当前位置: 首页 > news >正文

大型企业网站建设/昆明seo工资

大型企业网站建设,昆明seo工资,墨子网站建设,本地门户网站系统假设你须要在Scala或是Java中调用C或C函数库,就须要使用JNI。 这里就涉及到编译scala ,java 和C(C)代码,在这里给出一个程序的框架,我们使用sbt 缺省的代码文件夹文件文件夹src—>main——–>java——–>scala——–>c当中文件夹…

假设你须要在Scala或是Java中调用C或C++函数库,就须要使用JNI。 这里就涉及到编译scala ,java 和C(C++)代码,在这里给出一个程序的框架,我们使用sbt 缺省的代码文件夹

文件文件夹
src
—>main
——–>java
——–>scala
——–>c

当中文件夹c存放C++代码 ,java文件夹放置Java代码, scala文件夹放置Scala代码

项目组用来编译的相关文件为build.sbt 和Makefile (它编译放置在c文件夹下的C++文件,注意仅仅能编译C++,假设你有须要编译C,须要自行改动Makefile)

改动库文件名称为自己所需的名称
改动build.sbt 中的项目名称

1name := "JNIDemo"
2 
3version := "0.0.1-SNAPSHOT"
4 
5organization := "com.guidebee"

改动Makefile的库文件名称称

1#### PROJECT SETTINGS ####
2# The name of the executable to be created
3SODIR = target/so
4BIN_NAME= $(SODIR)/libjnidemo.so

改动Java引用的库文件名称称:

1static {
2    System.loadLibrary("jnidemo");
3  }

环境变量设置
在你设置好sbt的编译环境后,注意设置 JAVA_HOME 和 LD_LIBRARY_PATH 环境变量 ,Java_HOME为你Java的安装文件夹, 能够使用
export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:./:./target/so
将编译后的库文件加入到 java.library.path 路径中(这样Java代码能够找到库文件所在文件夹)

编译和执行
编译使用指令 sbt compile

1root@ubuntu:/sdb/jni# sbt compile
2[info] Set current project to JNIDemo (in build file:/mnt/sdb1/jni/)
3[info] Compiling 3 Java sources to /mnt/sdb1/jni/target/scala-2.10/classes...
4Creating directories
5Beginning release build
6Compiling: src/main/c/IntArray.cpp -> build/release/IntArray.o -Wall -Wextra -g -fPIC -c -O -m64 -Wunused-parameter
7src/main/c/IntArray.cpp:21:1: warning: unused parameter ‘obj’ [-Wunused-parameter]
8 Java_IntArray_sumArray(JNIEnv *env, jobject obj, jintArray arr)
9 ^
10         Compile time: 00:00:00
11Compiling: src/main/c/Prompt.cpp -> build/release/Prompt.o -Wall -Wextra -g -fPIC -c -O -m64 -Wunused-parameter
12src/main/c/Prompt.cpp: In function ‘_jstring* Java_Prompt_getLine(JNIEnv*, jobject, jstring)’:
13src/main/c/Prompt.cpp:24:13: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
14   char *buf="hello";
15             ^
16src/main/c/Prompt.cpp: At global scope:
17src/main/c/Prompt.cpp:22:1: warning: unused parameter ‘obj’ [-Wunused-parameter]
18 Java_Prompt_getLine(JNIEnv *env, jobject obj, jstring prompt)
19 ^
20         Compile time: 00:00:00
21mkdir target/so
22Linking: target/so/libjnidemo.so
23#@g++ build/release/IntArray.o build/release/Prompt.o  -fPIC    -o target/so/libjnidemo.so
24         Link time: 00:00:00
25Making library: target/so/libjnidemo.so -> target/so/libjnidemo.so
26Total build time: 00:00:00
27[success] Total time: 1 s, completed 29/08/2014 10:10:19 PM

执行
sbt run

1root@ubuntu:/sdb/jni# sbt run
2[info] Set current project to JNIDemo (in build file:/mnt/sdb1/jni/)
3[info] Running Test
4[info] User typed: hello
5[info] sum = 45
6[info] Type a line:
7[success] Total time: 0 s, completed 29/08/2014 10:10:54 PM

删除编译结果
sbt clean

1root@ubuntu:/sdb/jni# sbt clean
2[info] Set current project to JNIDemo (in build file:/mnt/sdb1/jni/)
3[info] Updating {file:/mnt/sdb1/jni/}jni...
4[info] Resolving org.fusesource.jansi#jansi;1.4 ...
5[info] Done updating.
6Deleting target/so/libjnidemo.so symlink
7Deleting directories
8[success] Total time: 1 s, completed 29/08/2014 10:11:35 PM

Github 代码
本例模板代码能够在 https://github.com/guidebee/JNIDemo下载。

20140829001

http://www.lbrq.cn/news/1382509.html

相关文章:

  • 苏宁易购网站建设方案/360seo
  • 广州建网站费用/成人本科报考官网
  • 苹果园做网站的公司/全网营销推广方案
  • 没有独立网站淘宝客推广怎么做/安徽网络优化公司排名
  • 青岛网站建设哪家好 网络服务/游戏搜索风云榜
  • wordpress 设置角色/seo外链推广员
  • 价格低性价比高的汽车/搜索引擎优化
  • wordpress手机大标题/重庆旅游seo整站优化
  • 重庆网页设计/seo推广官网
  • 网站建设方案书 人员安排/百度搜索排名靠前
  • 淘宝网站建设策划书/自媒体发布平台有哪些
  • 西部数码网站工具/网页搜索快捷键
  • 台州中兴建设咨询有限公司网站/百度网盘app怎么打开链接
  • wordpress影视主题带采集/seodao cn
  • 做网站费用会计科目/线下推广宣传方式有哪些
  • 武汉高端网站制作公司/外贸网站建设案例
  • 成都 网站设计/北京网站优化推广方案
  • 长春建站优化加徽信xiala5效果好/2024新闻热点事件
  • 苏州地区网站制作/百度高级搜索页面的网址
  • 中国住房和城乡建设部查询网站6/seo顾问推推蛙
  • wordpress不正确css/许昌seo公司
  • 个人网站命名技巧/app拉新平台
  • 外贸seo网站/百度分公司
  • 如何用自己网站做大电商/网站seo重庆
  • 济南网站建设服务/郑州网站建设用户
  • 南京网站制作链接/做整站优化
  • 网站建设赚钱吗/怎样制作一个网站
  • 网站建设项目化教程/百度权重排名查询
  • h5响应式网站源码/网店无货源怎么做
  • 技术支持 网站建设/seo基础知识培训
  • anaconda searchanaconda show | conda 检索包资源安装指定版本包指定源安装命令package
  • CNN卷积神经网络之LeNet和AlexNet经典网络模型(三)
  • 【力扣】面试经典150题总结01-数组/字符串
  • 【LeetCode 热题 100】4. 寻找两个正序数组的中位数——(解法一)线性扫描
  • 类与对象(上),咕咕咕
  • 【动态规划 | 多状态问题】动态规划求解多状态问题