求指教、。。。关于调用so文件

============问题描述============


今天同事给我发来一个文件,说让我通过android调用里面的函数文件是:


里面的内容是:

call_so.cpp文件的内容:

#pragma pack(1) //非常重要的申明,内存对齐的方法,影响sizeof()的结果
#include <stdio.h>

#include <time.h>
#include <stdlib.h>
#include "operation_tools.h"


#include "call_so.h"
char uv_file_name[1024];
int uv_class_type = 1;

int uf_call_so_file(LPBYTE InHdib,RECT InArea)
{
    printf("InArea.left=%ld,right=%ld,top=%ld,bottom=%ld\r\n",InArea.left,InArea.right,InArea.top,InArea.bottom);
    return 1;
}

call_so.h的内容:
#ifndef __CALLSO__
#define __CALLSO__

int uf_call_so_file(LPBYTE InHdib,RECT InArea);


#endif

operation_tools.sh的内容:
#ifndef __OPERATIONTOOLS__
#define __OPERATIONTOOLS__



#include <sys/stat.h>
#include <new>
#include <iostream>
#include <cstdlib>
#include <math.h>
using namespace std;



typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef float               FLOAT;
//typedef DWORD far*         LPDWORD;
typedef DWORD *LPDWORD;
typedef unsigned char *           LPBYTE;

typedef int                 INT;
typedef unsigned int        UINT;
typedef unsigned int        *PUINT;
typedef long LONG;

#define pthread_t              HANDLE
#define pthread_mutex_t        HANDLE
#define pthread_cond_t         HANDLE
typedef void *HANDLE;
typedef HANDLE HLOCAL;



typedef LPBYTE HDIB;

#define LPSTR char*
#include <memory.h>
#include <string.h>

#ifndef _RECT_
#define _RECT_
struct _RECT

long left;
long top;
long right;
long bottom;
} ;

#ifndef _DECLARE_MAXVALUE
#define _DECLARE_MAXVALUE

typedef struct 

int Value;
int Dist;
double AngleNumber;
}MaxValue;
#endif
typedef _RECT RECT;
#define LMEM_MOVEABLE       0x0002
#define LMEM_ZEROINIT       0x0040
#define LHND                (LMEM_MOVEABLE | LMEM_ZEROINIT)

/*
typedef int BOOL;
typedef unsigned char BYTE;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef char CHAR;
typedef unsigned char UCHAR;
typedef unsigned char *PUCHAR;
typedef short SHORT;
typedef unsigned short USHORT;
typedef unsigned short *PUSHORT;
typedef long LONG;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef long long LONGLONG;
typedef unsigned long long ULONGLONG;
typedef ULONGLONG *PULONGLONG;
typedef unsigned long ULONG;
typedef int INT;
typedef unsigned int UINT;
typedef unsigned int *PUINT;
typedef void VOID;
typedef char *LPSTR;
typedef const char *LPCSTR;
typedef wchar_t WCHAR;
typedef WCHAR *LPWSTR;
typedef const WCHAR *LPCWSTR;
typedef DWORD *LPDWORD;
typedef unsigned long UINT_PTR;
typedef UINT_PTR SIZE_T;
typedef LONGLONG USN;
typedef BYTE BOOLEAN;
typedef void *PVOID;
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME;
typedef union _ULARGE_INTEGER {
struct {
DWORD LowPart;
DWORD HighPart;
};
struct {
DWORD LowPart;
DWORD HighPart;
} u;
ULONGLONG QuadPart;
} ULARGE_INTEGER,
*PULARGE_INTEGER;

*/
#endif


#ifndef _POINT_
#define _POINT_

struct _POINT
{
int x;
int y;
};
typedef _POINT POINT;
#endif

/*

#ifndef _NEW_
#define _NEW_
// 重载了全局的new操作符 
void* operator new (unsigned int size)
{
cout << "::new" << endl;
cout << size << endl;
if(!size)
size = 1;
void *mem = malloc(size);
cout << mem << endl;
return mem;
}
#endif


#ifndef _DELETE_
#define _DELETE_
// 重载了全局的delete操作符 
void operator delete (void *ptr)
{
cout << "::delete" << endl;
cout << ptr << endl;
if(!ptr)
return;
free(ptr);
}
#endif
*/

//#include "cstring_linux/cstring.h"
//#include "../../sdk/inc_all/L999_struct.h"
//#include "../../sdk/inc_all/wb_struct.h"


//#include "../MYJC/MYJC.h"
//#include "control_lgq.h"



#endif


call_so.o的文件点不开。。。

     

  问题是我需要调用那个文件,,如何调用????

                  本人是新手,求大神们指导
   如果有dome最好。。。。



============解决方案1============


你这是android调用c++代码。。
看看这个http://cherishlc.iteye.com/blog/1756762

转载于:https://www.cnblogs.com/lianxu61/p/4035803.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人类历史上最伟大的物理学家

全世界只有3.14 % 的人关注了爆炸吧知识一沙见世界 一花窥天堂手心握无限 须臾纳永恒杨振宁曾说读上面的四句诗可以感受到物理的美但物理的美不止于此物理还有一种庄严美一种神秘美一种初窥宇宙奥秘的畏惧美物理就是如此的迷人任何语言在它的面前都很贫瘠数学让人摆脱了愚昧而…

DevToys - 开发人员的瑞士军刀

DevToys 是一个适用于开发人员的工具箱, 基于 UWP 开发, DevToys 旨在拥抱 Windows 生态系统, 免费并且开源, 拥有现代化的界面, 支持中文, 有深色/浅色主题可选, 并且它是离线化的, 所以你完全可以在无网络环境中使用。你可以使用它处理与开发相关的一些任务, 它提供 了14…

python写小猪佩奇_python之小猪佩奇

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 小猪佩奇 &#xff08;源码有点长&#xff09;# coding:utf-8 import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink") t.setup(840,500) t.speed(10) #鼻子 t.pu() t.goto(-…

你和985硕博研究生,差了这些东西

全世界只有3.14 % 的人关注了爆炸吧知识明明都是在搞科研为什么别人的思路比你开阔&#xff1f;明明都是在写文章为什么别人的方向比你更新颖&#xff1f;今天小编就来推荐几个能拓展视野的公号快点收藏起来吧&#xff01;募格课堂ID&#xff1a;mugeketang推荐理由&#xff1a…

产品运行所需的信息检索失败_禁煤后用什么替代锅炉?看看三种热源运行费用对比就知道了...

山西是我国的煤炭大省&#xff0c;煤炭资源丰富&#xff0c;自然而然也是燃煤大省。在打赢蓝天保卫战的目标任务下&#xff0c;拆除燃煤锅炉&#xff0c;改用清洁能源产品是大势所趋。这样的市场背景下&#xff0c;显然可见的是&#xff0c;山西地区将会迎来一大波的燃煤锅炉改…

图像处理技术(三)白平衡

在现实生活中&#xff0c;同学们经常会出旅游、去景点打卡&#xff0c;拍照&#xff0c;发个朋友圈&#xff0c;如果遇到阴雨天、雾霾天或者沙尘天气&#xff0c;那拍照的效果&#xff0c;可是让人头疼。好不容易去北京故宫玩一次&#xff0c;这不&#xff0c;遇到这种天气&…

mysql查看日志命令_面对成百上千台服务器产生的日志,试试这款轻量级日志搬运神器!

之前我们搭建的ELK日志收集系统&#xff0c;主要是用来收集SpringBoot应用的日志。其原理是应用通过Logstash插件&#xff0c;使用TCP向Logstash传输日志&#xff0c;从而存储到Elasticsearch中去。但是有很多中间件的日志都是直接存储在文件中的&#xff0c;比如Nginx、Elasti…

单元测试 | 如何Mock IHttpClientFactory

前言编写单元测试时&#xff0c;常常需要使用Mock框架&#xff08;例如Moq&#xff09;生成测试类的依赖接口的"模拟"实现&#xff0c;并验证接口是否按预期使用&#xff1a;_mediatorMock new Mock<IMediator>();_mediatorMock.Setup(x > x.Send(It.IsAny…

Wireshark和 TcpDump抓包分析心得

1. Wireshark与tcpdump介绍 Wireshark是一个网络协议检测工具&#xff0c;支持Windows平台和Unix平台&#xff0c;我一般只在Windows平台下使用Wireshark&#xff0c;如果是Linux的话&#xff0c;我直接用tcpdump了&#xff0c;因为我工作环境中的Linux一般只有字符界面&#x…

遇到可爱女生如何搭讪?

1 旺仔落泪▼。。。2 养狗一日&#xff0c;用狗一时&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 试图混进芒果里的鹦鹉&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 把滴滴司机的坐垫沾走了▼5 如何高效记单词&#xff08;素材来源网络&#xf…

Tomcat 上添加虚拟相对路径

为什么80%的码农都做不了架构师&#xff1f;>>> <Context docBase"D:/SHARP" path"/test" reloadable"true" /> 转载于:https://my.oschina.net/zz006/blog/754631

198道K8sDocker面试真题大汇总,全网最全八股!

最近看到两个数据&#xff0c;想跟你们分享一下&#xff1a;一是&#xff0c;目前云原生开发人员已经达680万&#xff08;SlashData数据&#xff09;&#xff1b;二是&#xff0c;云和容器技术首超Linux&#xff0c;成最受青睐技能&#xff08;Linux基金会数据&#xff09;。云…

iptables 手册

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables&#xff0c;因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables&#xff0c;你会觉得它很复杂&#xff0c;但是一旦你理解iptables的工作原理&#x…

Android之如何看混淆后的错误日志代码

第一步&#xff1a; 找到混淆的mapping.txt文件 build -> outputs -> mapping -> release -> mapping.txt 或者&#xff1a;1项目目录的progurad下有一个mapping.txt文件 这是混淆后的名字 和原名字的映射关系。 第二步: 找到项目用的sdk依次定位到sdk -> to…

男朋友的回答可以多敷衍?

1 跟最好的朋友好到什么程度&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 不要在妈妈打麻将的时候要生活费&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 现在卖家还要发毒誓了&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 刘德华老师…

学习Java,容易被你忽略的小细节(2)

昨天心情真的太糟糕了&#xff0c;写完《学习Java&#xff0c;值得注意你注意的问题&#xff08;1&#xff09;》之后&#xff0c;迎来些许的支持以后就是一片片的谴责。我的主页上涌现出许许多多Java方面的牛人&#xff0c;谴责我水平太低&#xff0c;写的问题太初级。搞得我非…

controller是什么意思_SpringMVC是什么??

SpringMVC是什么&#xff1f;一&#xff0c;首先是一个MVC框架。在web模型中&#xff0c;MVC是一种很流行的框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;把较为复杂的web应用分成逻辑清晰的几部分&#xff0c;是为了简化开发&#xff0…

You third iOS app,这个APP要放到手机上面运行,才会成功,才会新建记录。

当提示如上图所示时&#xff0c;很可能你只有在苹果设备上运行才可以提示成功&#xff0c; iCloud is available。 转载于:https://www.cnblogs.com/liqiwa/p/5933542.html