Delphi Seatle can link Delphi project with Static library files(*.a): 1.at Delphi IDE, Add the "*.a" file Path to Library Path: a. Tools Menu b.Options c.Delphi Options -> Library -> Selected platform "Android" d.Library path -&g…
关于本视频:前阵子接到一个委托,解决Delphi开发Android程序中串口通信的问题,厂家那边提供了c文件,需要翻译成delphi可用,翻译倒是比较简单.不过后来翻译读写ic卡单元的时候进行不下去了,delphi还提供的不太完整,而且底层提供的也有些bug,然后就有了直接使用.a和.so文件的想法,后来花不少精力,查阅资料和调试,终于调通了.特意录制本视频希望能为大家解决一些实际问题.顺便赚点零花钱. 视频录制过程间隔时间比较长,拼接起来的,观看过程中会有一些停顿现象.还有普通话太烂,请大家一…
android ndk-build 编译静态库libxx.a 需求场景: 目前有安卓编码好的现在的openssl的两个.a,我们需要调用openssl的函数,并把功能再封装成.a; 这样使用时,在android studio jni项目 cmake 里面,需要先引用openssl的.a再引用 上面封装的.a; 如果使用so,那么,直接在android studio jni项目的 cpp里面直接调用openssl的方法,对外提供jni java接口,打包成so即可: 先来说用ndk-build 打…
静态库 .o文件的集合 制作 ar -cr libxxx.a xxx1.o xxx2.o xxx3.o ... 编译 gcc main.c -l xxx [-L 库路径] (如果不加-L则在标准库路径下查找) 运行 ./a.out 基本概念: 静态库又称为文档文件(Archive File).它是多个.o文件的集合.Linux中静态库文件的后缀为"a". 静态库的代码在编译时就已经链接到应用程序中 静态库中的各个成员(.o文件)没有特殊的存在格式,仅仅是一个.o文件的集合. 使用&qu…
使用virtual c++ 6.0创建和调用动态库 不得不说一下关于环境的问题 只要我打一个响指,一半的安装在win7上的VC6.0都会因为兼容性问题直接崩掉 懒得研究怎么解决兼容性的问题了,直接开一个winXP虚拟机完美运行vc6.0,省时省心,岂不美哉 研究大佬的博客的时候 Windows下静态库与动态库的创建与使用 尝试使用.def文件生成动态库并使用隐式链接到工程时,发现这个方法仅适用于动态库所在的工程和调用动态库的工程同时处于一个工作空间 如图所示,0527helloworld是动态库…
swig - Simplified Wrapper and Interface Generator swig可以支持python,go,php,lua,ruby,c#等多种语言的包裹 本文主要记录如何使用swig创建一个可供python中调用静态库接口 首先手上有一个头文件(.h)以及一个静态库文件(.a),这是常见的api分发方式 libcode.a code.h 看一下code.h中的内容: int encode(const char* salt, int version, const ch…
一.linux下的静态库   静态库中的被调用的函数的代码会在编译时一起被复制到可执行文件中去的!!可执行文件在运行不需要静态库的存在!   二.linux下动态库的构建和使用 1.动态库的构建    gcc  -fPIC  -shared    -o  lib库名.so   源文件列表   例:    gcc   -fPIC  -shared  -o  libmylib.so  max.c  min.c   2.动态库使用    gcc    -o  最终的可执行文件  源文件列表  -L 动…
转载&&增加:      我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护.我们可以把他们制作成相应的功能函数,使用时直接调用就会很方便,还可以进行后期的功能升级.  例如我要在一段代码中多次交换两个变量的值,我可以在代码中多次写入 i=x;x=y;y=i; 不过这样未免有点麻烦我们可以编写一个change_two_int()函数进行简化.定义如下函数:void chan…
Android下调用收发短信邮件等 1,调web浏览器Uri myBlogUri = Uri.parse("http://xxxxx.com");returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);2,地图Uri mapUri = Uri.parse("geo:38.899533,-77.036476");returnIt = new Intent(Intent.ACTION_VIEW, mapUri);3,调拨…
Android下查看共享库依赖项 [时间:2017-02] [状态:Open] [关键词:android,共享库依赖项,so,ndk,objdump,readelf] 起因 近期在处理Android下动态库依赖的问题.我知道在Windows下可以使用dependency-walker查看动态库或者可执行文件的依赖性,在linux下可以使用ldd查看动态库的依赖项,比如查看libavcodec.so的输出如下: $ ldd libavcodec.so linux-vdso.so.1 = (0x00…