NDK学习
晓果博客
You’ll never realize how strong you are until you have no other choice but to be strong<br>你永远都不会知道自己到底有多坚强,直到有一天你除了坚强别无选择。
展开
-
opencv4android DNN人脸检测
布局<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" .原创 2020-12-08 11:02:31 · 481 阅读 · 0 评论 -
Opencv4android 眼睛追踪
布局<?xml version="1.0" encoding="utf-8"?><androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" and.原创 2020-12-08 11:00:35 · 592 阅读 · 1 评论 -
Opencv4android 摄像头演示
布局<?xml version="1.0" encoding="utf-8"?><androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orien.原创 2020-12-08 10:56:35 · 454 阅读 · 0 评论 -
Opencv4android 基础知识
导入so和androidSDK# For more information about using CMake with Android Studio, read the# documentation: https://d.android.com/studio/projects/add-native-code.html# Sets the minimum version of CMake required to build the native library.cmake_minimum_.原创 2020-12-08 10:47:27 · 247 阅读 · 0 评论 -
android opencv NDK人脸识别和对比
下载opencvhttps://opencv.org/releases/导入so库和.h头文件sourceSets { main { jniLibs.srcDirs = ['libs'] } }修改CMakeLists.txt# For more information about using CMake with Android Studio, read the# documentation: https:/..原创 2020-12-08 10:36:14 · 1051 阅读 · 3 评论 -
NDK开发(四):仿QQ变声
效果相关资料:fmod官网https://www.fmod.com/download下载需要的资源库构建项目首先构建支持C++的android工程,将需要的c库考入工程这里只需要inc文件下的文件就可以了,其他的cpp文件不需要导入so库和jar sourceSets { main { jniLibs.srcDirs = ['l...原创 2019-09-19 15:49:49 · 408 阅读 · 0 评论 -
C++(七):多态(虚函数)&抽象类(纯虚函数)&泛型(函数模板)
多态(虚函数)创建父类头文件(Plane.h)#pragma once//普通飞机class Plane {public: //virtual必须添加,否则多肽无法实现,调用的都是父类的方法 virtual void fly(); virtual void land();};实现父类(Plane.cpp)#include "Plane.h"#include...原创 2019-09-16 09:53:40 · 682 阅读 · 0 评论 -
C++(六):继承
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;//继承//代码的重用性class Human{public: void say() { cout << "hahahh" << endl; }pri...原创 2019-09-12 17:45:44 · 201 阅读 · 0 评论 -
C++(五):友元函数&运算符重载
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;//友元函数class A{public: A(int i) { this->i = i; } void myprint() { cout << i <<...原创 2019-09-12 16:37:47 · 456 阅读 · 0 评论 -
C++(四):构造函数的属性初始化、static、this
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;//构造函数的属性初始化列表class Teacher{public: Teacher(char* name) { this->name = name; cout <&...原创 2019-09-11 16:57:59 · 825 阅读 · 0 评论 -
C++(八):异常处理&模板类(泛型类)
#include <stdlib.h>#include<stdio.h>#include<iostream>using namespace std;//C++异常处理,根据抛出的异常数据类型,进入到相应的catch块中void main() { try { int age = 300; if (age>200) { thro...原创 2019-09-19 17:17:30 · 348 阅读 · 0 评论 -
C++(九) C++类型转换
C++类型转换static_cast 普遍情况const_cast 去常量dynamic_cast 子类类型转为父类类型(将对象转换为自己的实际类型不成功为NULL)reinterpret_cast 函数指针转型,不具备移植性原始类型转换,所有情况都是一种写法,可读性不高,有可能有潜在的风险static_cast 普遍情况void* func(int t...原创 2019-09-19 20:58:23 · 218 阅读 · 0 评论 -
C++(十):IO操作
文本文件操作#include<iostream>#include<stdio.h>#include<stdlib.h>#include<fstream>using namespace std;//文本文件操作void main() { char* fname = const_cast<char*>("c://Us...原创 2019-09-21 17:14:59 · 378 阅读 · 0 评论 -
C++(十一):string字符串&vector集合基本操作
#include<iostream>#include<string>using namespace std;//string初始化void main() { string s1 = "huangxiaoguo"; string s2("hahahahha"); string s3 = s1 + s2; cout << s3 <&l...原创 2019-09-22 21:38:32 · 2127 阅读 · 0 评论 -
C++(十二):栈、队列、list、set、map
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <queue>using namespace std;void printDeque(deque<int>& q){ size_t i = 0; for (; i < q.size(); i++) { cout...原创 2019-09-22 22:34:14 · 380 阅读 · 0 评论 -
NDK开发(五):Ubuntu编译FFmpeg
编译环境 Ubuntu 14.0 amd64 (64bit) FFmpeg(tag:n2.6.9) ndk-r15c配置主机并使用Xshell、Xftp连接主机XShell:https://www.netsarang.com/zh/free-for-home-school/Xftp:https://www.netsarang.com/zh/free-for-home-scho...原创 2019-09-27 16:06:43 · 371 阅读 · 0 评论 -
NDK开发(六):androidStudio3.2.1加载ffmpeg
创建android项目并支持C++将编译好的so拷贝到项目libs中将头文件拷贝到cpp文件下配置gradleandroid { ..... sourceSets { main { jniLibs.srcDirs = ['libs'] } }}defaultConfig { ...... nd...原创 2019-09-27 16:28:53 · 480 阅读 · 0 评论 -
C++(三):函数
在c++中类的普通写法是,在.h头文件中声明——>在.cpp中实现——>在任意的.cpp中调用声明#pragma onceclass MyTeacher {public: int age; char* name;public: void setAge(int age); int getAge(); void setName(char* name); cha...原创 2019-09-11 12:11:12 · 229 阅读 · 0 评论 -
C++(二):引用
#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;struct Teacher{ char* name; int age;};void myprint(Teacher &t) { t.age = 21; cout <&...原创 2019-09-11 11:56:00 · 225 阅读 · 0 评论 -
C语言(二):指针基础
#include<stdio.h>#include<stdlib.h>#include<Windows.h>//指针为什么要有类型?//指针有类型,地址没有类型//地址只是开始的位置,类型指的是读取什么位置结束void main() { int i = 88; int *p = &i; double j = 98.2; //赋值为...原创 2019-07-01 11:08:03 · 220 阅读 · 0 评论 -
C语言(三):动态内存分配
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<Windows.h>//动态内存分配void main() { //40 //stack overflow错误,栈溢出 int a[1024 * 1024 * 10]; //栈内存 /...原创 2019-07-01 11:20:18 · 238 阅读 · 0 评论 -
C语言(四):字符串
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<Windows.h>//使用字符数组存储字符串void main() { //char str[] = { 'c','h','i','n','e','s','e','\0' }; //char s...原创 2019-07-01 11:26:24 · 183 阅读 · 0 评论 -
C语言(五):结构体
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<Windows.h>//结构体是一种结构数据类型//把不同的数据类型整合起来成为一个自定义的数据类型struct Man{ //成员 char...原创 2019-07-01 11:34:06 · 267 阅读 · 0 评论 -
C语言(六):联合体&枚举
#include<stdlib.h>#include<stdio.h>//联合体(共用体)//不同类型的变量共同占用一段内存(互相覆盖),联合变量任何时刻只有一个成员存在,节省内存//联合体变量的大小=最大的成员所占的字节数//类似Java中的Objectunion MyValue{ int x; int y; double z;};void m...原创 2019-07-01 11:48:04 · 251 阅读 · 0 评论 -
C语言(七):IO
#define _CRT_SECURE_NO_WARNINGS#include<stdlib.h>#include<stdio.h>#include<string.h>//读取文本文件void main(){ char *path = "F:\\study\\android高级\\动脑17\\01_NDK\\01_NDK_C语言\\08_08_C...原创 2019-07-01 11:49:56 · 287 阅读 · 0 评论 -
C语言(八):宏定义(宏替换,预编译指令)
my.textprintf("%s\n","I am little boy!");A.h//在A.h中引用B.h,在B.h中引用A.h会循环引用 (错误 C1014 包含文件太多 : 深度 = 1024 )//如果没有定义AH,定义AH/*#ifndef AH#define AH#include "B.h"void printfA();#endif // !...原创 2019-07-01 11:56:04 · 2207 阅读 · 0 评论 -
JNI语言(一):如何生成.h头文件
首先在java类中创建native方法public class JniText { public static void main(String[] args) { System.out.println("asdasdasldas;d"); } /** * JNI(Java Native Interface) * Java调用C/C...原创 2019-07-01 12:00:03 · 2120 阅读 · 0 评论 -
JNI语言(二):如何获取Jni需要的class类成员变量和方法的签名
进入.class文件包名的跟目录下注意:这里要是包名的根目录下(这里的包名为 com.huangxiaoguo.JniText)查看javap命令使用javap -s -p com.huangxiaoguo.JniText查看签名获得系统SDK某个类的签名(前提是配置SDK环境变量) 这里以java.util.Date为例...原创 2019-07-01 12:03:49 · 1863 阅读 · 0 评论 -
JNI语言(三):JNI基础
Java Native方法package com.huangxiaoguo;import java.util.Date;import java.util.Random;import java.util.UUID;public class JniText { public String key = "json"; public static int count...原创 2019-07-01 12:12:27 · 623 阅读 · 0 评论 -
AS NDK开发(一):as构建项目
新建一个Android Studio 工程 。新建一个Cryptor.java文件。在app/src/main/java目录下执行javah命令,生成.h头文件在app/src/main文件夹下新建一个jni文件夹,将.h头文件copy到jni目录下在jni目录下新建一个c/c++source file ,取名ndk_file_crypt.c在jni文件夹下新建...原创 2019-07-07 14:28:47 · 1445 阅读 · 0 评论 -
NDK开发(二):文件的加密与解密&文件拆分和合并
效果:创建Java Native调用方法public class Cryptor { static { System.loadLibrary("ndk_file_crypt"); } /** * 加密 * * @param normal_path * @param crypt_path */ ...原创 2019-08-20 19:38:23 · 685 阅读 · 0 评论 -
The POSIX name for this item is deprecated. Instead,
严重性 代码 说明 项目 文件 行 禁止显示状态错误 C4996 ‘setmode’: The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _setmode. See online help for details. bsdiff e:\c\bsdiff\bsdif...原创 2019-08-21 16:50:26 · 1467 阅读 · 0 评论 -
使用了可能未初始化的本地指针变量“xxx”
使用了可能未初始化的本地指针变量“old”右键——>选择属性SDL检查:更改为否原创 2019-08-21 16:59:07 · 7722 阅读 · 0 评论 -
NDK开发(三):增量更新
效果:版本1:增量更新后的版本用到的C库bsdiff::https://github.com/mendsley/bsdiffbzip2: https://sourceforge.net/projects/bzip2/差分包的生成(windows)将需要的开源文件导入vs其中jni.h和jni_md.h头文件从系统jdk中获得,这里会出现各种报错请查看【The POSIX...原创 2019-08-22 18:00:19 · 450 阅读 · 0 评论 -
C++(一):命名空间,类,引用
#include <stdio.h>#include <stdlib.h>#include <iostream>//标准命名空间(包括很多标准的定义)using namespace std;//命名空间类似于java中的包//自定义命名空间namespace NSP_A { int a = 12; struct Student { c...原创 2019-09-07 21:56:28 · 1414 阅读 · 1 评论 -
C语言(一):C语言基础
# define _CRT_SECURE_NO_WARNINGS//宏定义# include<stdio.h># include<stdlib.h>#include <Windows.h>void main() { printf("hello world\n"); //1.基本数据类型 //int short float double char...原创 2019-07-01 10:33:28 · 258 阅读 · 0 评论