jN

整理MINGW编译dll使用JNI被java调用的几种方式

家住魔仙堡 提交于 2020-04-20 01:35:25
第一种方式,在msys中直接编译各个源文件,不管是c或者c++文件,都能生产被JNI调用的dll库 JNI-MINGW-DLL Posted August 10th, 2008 by fhackenberger JNI is the Java Native Interface, you will need to download and install the Java SDK. Note the installation directory (ie/ c:/j2sdk1.4.1_02 ) for use later. If you are using MSYS add a line similiar to the following in /etc/fstab and then restart MSYS: c:/j2sdk1.4.1_02 /java In MSYS the JNI DLL can be generated using the following (NOTE: -Wl has an 'L' not a '1'): gcc -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -I/java/include -I/java/include/win32 -shared -o JavaImp.dll someJavaImp.c In a

四.川.木.里-2020-03-28火灾遥感数据下载汇总

僤鯓⒐⒋嵵緔 提交于 2020-04-18 11:16:23
四.川.木.里-2020-03-28火灾遥感数据下载汇总 2019年3月30日18时许,四川省凉山州木.里.县雅砻江镇立尔村发生森林火灾…时隔一年后,2020年3月28日19时30分,木.里.县乔瓦镇锄头湾村与项脚乡项脚村交界处的山头发生森林火灾… 一、研究区概况 木.里.周边在发生火灾前的十天时间内不仅气温偏高,而且降水稀少,几乎滴雨未下,下面三个图分别是3月23日-4月1日的气温距平、降水量和降水距平: 从气温距平、降水量和降水距平分别可以看出我国川滇交界处该段时间气温比常年偏高2-4摄氏度、降水量近乎为0,降水偏少接近一倍。 每年的3-5月为我国西南地区的干热季,在6月份西南主力季风还未到来的前三个月,又干又热,极易发生森林火灾;西南地区横断山脉地区孕育着独特的干热河谷气候,按照自然地理水平地带的划分,我国西南横断山区属于湿润的亚热带常绿阔叶林带,而且河谷本应是最不缺水的地方,可好多的峡谷河畔却荒凉一片。我们通过下面两者卫星图可以看到,河谷地带裸土特征明显,植被覆盖稀疏,反而在高山上森林茂密郁郁葱葱,这种地貌分布在金沙江流域及其常见,就是典型的干热河谷。这种地方一旦发生森林火灾,往往海拔较高,地形险峻,而且山上风向容易突变,季风、山风、谷风交织叠加高空气流导致扑救任务危险间距。 二、遥感卫星成像汇总 2.1 高分四号 **数据链接:**链接: https://pan

瞎写的理性愉悦:正整数幂和与伯努利数

守給你的承諾、 提交于 2020-04-17 14:23:08
【推荐阅读】微服务还能火多久?>>> 小粉兔原本对数学方面的知识(数论,计数)比较感兴趣,直到他考了 CTS2019 和 APIO2019, 发现他的数学居然连没怎么学的数据结构都不如,于是他自闭了。 考虑到从现在开始 CNOI 可能会变得计数和推式子化,小粉兔很可能要凉掉了。 现在补救可能还是来得及的(?),所以他推了一些式子尝试救起濒死的数学水平。 注意:以下内容极其低端,仅能体现 OIer 中数学的最低水平,请谨慎阅读! 注意:以下内容极其低端,仅能体现 OIer 中数学的最低水平,请谨慎阅读! 注意:以下内容极其低端,仅能体现 OIer 中数学的最低水平,请谨慎阅读! 考虑计算这样一个东西: \(\displaystyle\sum_{i=1}^{n}i^k\) 。 即前 \(n\) 个正整数幂和,其中 \(0\le k\le 10^6\) , \(1\le n\le 10^{18}\) 且均为整数。 设 \(\displaystyle S_k(n)=\sum_{i=1}^{n}i^k\) ,则显然对于 \(k\in\mathbb{N}\) , \(S_k(x)\) 是关于 \(x\) 的一个 \(k+1\) 次多项式。 举几个例子: \(\displaystyle S_0(n)=\overset{n}{\overbrace{1+1+\cdots+1}}=n=\mathbf

Fabric v1.0 block结构与修改

人走茶凉 提交于 2020-04-15 09:48:46
【推荐阅读】微服务还能火多久?>>> fabric v1.0 区块数据结构: 详细结构 Fabric 打开blockfile 1.docker exec -it peer节点名 bash , 比如:sudo docker exec -it peer0.org3.wisedu.com bash 2.cd /var/hyperledger/production/ledgersData/chains/chains/mychannel 3.注:里面的文件比如blockfile_000000可以删除: rm blockfile_000000 4.将blockfile拷贝出来: #exit #sudo docker cp 31bf8b2e6374:/var/hyperledger/production/ledgersData/chains/chains/mychannel/blockfile_000000 /home/shirly/projects 其中,b81a1d1d8064是对应peer0.org3.wisedu.com的容器ID,可根据root@31bf8b2e6374:获得 那么是不是可以先把blockfile文件拷贝出来进行修改,将/var/hyperledger/production/ledgersData/chains/chains

JNI Native动态注册演练

╄→尐↘猪︶ㄣ 提交于 2020-03-06 22:14:48
前几天分享了一篇关于TS流解析的文章,有朋友在问,你怎么不使用动态注册呀,什么是JN动态注册呢?今天给大家介绍使用一下。 一、JNI Native注册介绍 jni native注册主要有2种,静态注册和动态注册,其中静态注册是我们常用的,因为部分项目用到jni的接口很少,通过静态注册就能很方便快速的实现,不过当接口多起来时就会略显麻烦,并且静态注册的包名关联,很容易导致错误,排版也不好看,而动态注册就很好的解决了这一问题。 静态注册: 特点:实现快速,但是函数名也非常长,不适合管理 它的编译形式是根据函数名来遍历查找java和jni函数之间的关联,然后静态调用 extern "C" JNIEXPORT jstring JNICALL Java_com_blur_blurbyjnidemo_MainActivity_stringFromJNI ( JNIEnv * env , jobject /* this */ ) { std :: string hello = "Hello from C++" ; return env -> NewStringUTF ( hello . c_str ( ) ) ; } 动态注册: 特点:每个方法一一映射,简单明了,不容易出错,便于管理 它通过在jvm中注册jni函数映射表,再根据函数映射表去调用对应名称和参数的函数, /* * used in

linux下更新gcc

随声附和 提交于 2020-03-03 14:54:53
1 下载源码 链接 目前最新为9.2版本。 2 解压 tar -zxvf gcc-9.2.0.tar.gz cd gcc-9.2.0 3 download_prerequisites脚本 运行这个脚本: ./contrib/download_prerequisites 4 临时目录 建立临时目录,用于放置中间文件。 mkdir gcc_9_2_0_build cd gcc_9_2_0_build 5 生成makefile文件 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 不对,是这张: 下面说一下几个选项: -enable-checking / -disable-checking 表示编译器在编译过程中是否做额外检查。 -enable-languages 表示支持的语言,可以支持 ada c c++ d fortran go jit lto objc obj-c++ -disable-multilib 关闭多架构支持,可以支持arm,m68,mips,msp430,powerpc架构。 6 编译 sudo make -j6 -jn 选项表示为多核处理器优化,n为核心数,笔者的为6核。 此操作极为耗时,建议准备充足时间,如果出现错误一般一两分钟左右停止,不成功请直接使用

High Availability With QJM详细部署步骤

血红的双手。 提交于 2019-12-05 08:19:48
hadoop集群搭建: 配置hosts (4个节点一致) 192.168.83.11 hd1 192.168.83.22 hd2 192.168.83.33 hd3 192.168.83.44 hd4 配置主机名(重启生效) [hadoop@hd1 ~]$ more /etc/sysconfig/network NETWORKING=yes HOSTNAME=hd1 配置用户用户组 [hadoop@hd1 ~]$ id hadoop uid=1001(hadoop) gid=10010(hadoop) groups=10010(hadoop) 配置JDK [hadoop@hd1 ~]$ env|grep JAVA JAVA_HOME=/usr/java/jdk1.8.0_11 [hadoop@hd1 ~]$ java -version java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode) 配置ssh免密登录 ssh-keygen -t rsa ssh-keygen -t dsa cat ~/.ssh/*.pub > ~/.ssh/authorizedkeys

High Availability With QJM

北战南征 提交于 2019-12-04 08:23:57
节点及实例规划: High Availability With QJM 部署要点及注意事项请参考 https://my.oschina.net/u/3862440/blog/2208568 HA 部署小节。 编辑"hdfs-site.xml" dfs.nameservices --配置命名服务,一个集群一个服务名,服务名下面包含多个服务和几点,对外统一提供服务。 <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> dfs.ha.namenodes.[nameservice ID] --配置所有的NN的service id,一个service服务下面有多个NN节点,为了做NN高可用,集群必须知道每个节点的ID,以便区分。我这里规划了2个NN,所以NN ID有两个。 <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> dfs.namenode.rpc-address.[nameservice ID].[name node ID] --配置所有的NN的rpc协议(用于NN与DN或者客户端之间的数据传输),我这里配置了2个NN 3个DN

Liquid网络闪电支付使用指南

自闭症网瘾萝莉.ら 提交于 2019-11-28 22:35:02
本教程介绍如何使用Liquid侧链的c-lightning来创建闪电支付通道。使用这些支付通道,用户可以实时、私有地交易Liquid-BTC。 Liquid网络包含有对私密交易和资产发行的支持,因此用户可以使用闪电支付通道交易任何在Liquid网络上发行的资产,例如通证化的发币、加密资产等等。另外,对链上BTC和支付通道L-BTC的兑换的支持工作也在进行中。 使用Liquid网络上的c-lightning和比特币主网上流程一样,因此如果你熟悉哪些步骤的话,这个教程就会很容易 —— 虽然本来就是件容易的事。 1、软件安装 首先我们需要一个同步的比特币节点和一个同步的Elements节点,才能在Liquid侧链上开启闪电支付通道。你可以参考以下链接安装bitcoin节点软件和elements节点软件: bitcoin core: https://elementsproject.org/elements-code-tutorial/installing-bitcoin elements: https://elementsproject.org/elements-code-tutorial/installing-elements 一旦两个节点都完成同步,安装了必须的依赖: ~$ sudo apt-get install -y \ autoconf automake build