2016-08-03 ruki
如果你想在同一个target上既编译静态库,又能编译动态库,那么稍微修改下 xmale.lua就行了: ```lua add_target("test") -- 设置编译target的类型,之前是:static/shared,现在改成动态的 set_kind("$(kind)") -- 添加文件 add_files(*.c) ``` 好了,现在默认编译的时候,会生成静态库:libtest.a 如果你想生成动态库,只需要执行: ```bash 简写 xmake f -k shared 或者 xmake config --kind=shared 编译 xmake ``` 继续阅读 »
2018-04-29 LEo
本文主要介绍go语言动态库的编译和使用方法,以linux平台为例,windows平台步骤一样,具体环境如下: `` $ echo $GOPATH /media/sf_share/git/go_practice $ echo $GOROOT /usr/lib/golang/ $ tree $GOPATH/src /media/sf_share/git/go_practice/src |-- demo |-- demo.go `-- main.go 继续阅读 »
2014-09-17 summer
系统刚刚部署到阿里云的ubuntu-server操作系统上面,一直运行不来结果,但是也没有发现出错信息,经过多次查询发现缺少libXrender.so.1库。 安装libXrender.so.1库。 sudo apt-get install libxrender-dev sudo apt-get install libxtst-dev 继续阅读 »
2016-04-25 zzyhappyzzy
iOS
说明 库是程序代码的合集,常见的有开源库和闭源库,其中.a就是闭源库(无法看到具体实现方法),而Github上的代码基本都是开源库。静态库执行时会被复制到可执行文件中,多次调用则会出现冗余拷贝,不建议使用静态库。可以使用动态库.dylib(动态库貌似通不过appstore审核)或者源码。 生成.a文件 一个.a文件,要想兼容各种不同的cpu架构,需要包含各种指令集(amrv7/armv7s/arm64/i386/x86_64等)。常用的查看和合并.a文件的指令lipo。 继续阅读 »
2016-02-04 ruki
xmake的add_files接口不仅可以添加源代码文件进行编译,还可以直接添加.o/obj对象文件、以及.a/lib的库文件到编译目标中,这个跟add_links是有区别的 add_links:只能添加链接,例如: -lxxxx 这种,链接的目标也只能是可执行程序、动态库,而且只会链接需要的代码进去 add_files:是直接将静态库中的所有对象文件,解包、重新打包到新的target中,这个target可以是新的静态库,也可以是可执行程序、或者动态库 例如: ```lua target("test") -- 生成静态库:libtest.a set_kind("static") -- 添 继续阅读 »
2016-04-02 AllanChan
Runtime是什么 Runtime是一个c和汇编写的动态库(感谢Lision的指正),它就像一个小小的系统,将OC和C紧密关联,这个系统主要做两件事 : 1、封装C语言的结构体和函数,让开发者在运行时创建、检查或者修改类、对象和方法等等。 2、传递消息,找出方法的最终执行代码。 继续阅读 »
2015-03-04 Mithrilwoodrat
ctypes是一个Python库,可以提供C中的数据类型,调用链接库中的函数. 1.加载动态链接库 使用cdll.LoadLibrary或者CDLL. ex CDLL("libc,so,6") 2.调用已加载库中的函数 继续阅读 »
2016-02-29 AllanChan
随着公司的业务的发展有幸接触到OpenCV 这个图形库,这篇文章主要是总结一下在Mac 上使用OpenCV做一个动态的广告植入。 OpenCV 是什么: OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。 继续阅读 »
2014-09-13 Xiaosong Gao
本文主题是如何动态获取实例属性的值。 Objective-C运行时库已经有这样的功能。使用这些方法需要加头文件。 ``` import ``` 要用到的方法是: objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount) 继续阅读 »
2015-10-14 blademainer
问题描述 项目使用SpringMVC框架,并用jackson库处理JSON和POJO的转换。在POJO转化成JSON时,有些属性我们不需要输出或者有些属性循环引用会造成无法输出。 例如:实体User其中包括用户名、密码、邮箱等,但是我们在输出用户信息不希望输出密码、邮箱信息; 例如:实体user和department是多对一的关系,user内保存着department的信息,那么json输出时会导致这两个实体数据的循环输出; jackson默认可以使用JsonIgnoreProperties接口来定义要过滤的属性,然后使用ObjectMapper#addMixInAnnotations来设置对应实体对应的JsonIgnorePr 继续阅读 »