场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,需要关心的只是mysqlclient引用到的动态库。大 ...
分类:
其他好文 时间:
2019-01-09 18:42:18
阅读次数:
197
学习QT时,遇到了MinGW,以前一直用vs编写程序,一直没遇到另一种编译器。根本没有形成一个概念。Mark。 一、什么是工具集 我们在写代码时,如果没有各种开发工具集,我们写的各种代码只不过是一种TXT格式的文件。但有了开发工具,我们就可以对这些代码进行编译、链接。从而变成可执行文件或库文件。针对 ...
分类:
其他好文 时间:
2019-01-06 14:25:39
阅读次数:
166
也就是windows下的.dll 1.命名 2.制作 (1)生成与位置无关的.o文件 gcc -fPIC -c *.c -I ../include (2)将.o打包成动态库(或者叫共享库) gcc -shared -o libmytest.so *.o -I ../include 3.发布和使用 ( ...
分类:
系统相关 时间:
2019-01-05 00:12:55
阅读次数:
212
库依赖: gcc connect.c –o connect –I /usr/include/mysql –L /usr/lib/mysql -lmysqlclient//-I是找到自己写的头文件所在的位置 -L是找到自己所写的动态库所在的位置,并且写上函数名,静态库不用写-L,只写函数名//-I 是 ...
分类:
系统相关 时间:
2019-01-04 14:36:54
阅读次数:
185
在生成动态库时,常常习惯性的加上fPIC选项,fPIC有什么作用和意义,加不加有什么区别,这里做下小结: fPIC的全称是 Position Independent Code, 用于生成位置无关代码。什么是位置无关代码,个人理解是代码无绝对跳转,跳转都为相对跳转。 1、不加fPIC选项 即使不加fP ...
分类:
系统相关 时间:
2019-01-03 21:39:57
阅读次数:
248
Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件。 在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是在执行文件中记录对动态库的引用。 程序执行时,再去加载动态库文件。如果动态库已经加载,则不必重复加载 ...
分类:
系统相关 时间:
2019-01-03 21:38:30
阅读次数:
222
1. 库的介绍 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 wind ...
分类:
其他好文 时间:
2019-01-03 21:34:08
阅读次数:
239
1、安装NcursesNcurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。Ncurses是一个能提供基于文本终端窗口功能的动态库.Ncurses可以:·只要您喜欢,您可以使用整个屏幕·创建和管理一个窗口·使用8种不同的彩色·为您的程序提供鼠标支持·使用键盘上的功能键Ubuntu下mysea@mysea-desktop:~$sudoapt-getinsta
分类:
其他好文 时间:
2019-01-03 20:43:07
阅读次数:
253
《信息安全系统设计基础》第二次学习总结 教材学习内容总结 教材是:《深入理解计算机系统V3》 下次目标:弄懂什么是动态库,什么是静态库,什么是共享库。 看了第一章,听了第七章一部分的MOOC(即:对应的第十周MOOC) 第一章: 是什么(讲了什么内容)? 信息就是位+上下文:计算机中信息就是一串二进 ...
分类:
其他好文 时间:
2019-01-03 20:10:57
阅读次数:
318
最近, 作者遇到一个需求, 需要把Python的工程部署到别的集群, 但是又要保证Python代码的安全性. 于是上网搜索, 搜到几个解决方案, 但是都不是符合需求. 综合搜到的几个解决方案, 最终作者采用了编译成so动态库的方式发布. <! more 首先说一下搜到到几个解决方案, 以及它们的优缺 ...
分类:
编程语言 时间:
2019-01-01 12:27:30
阅读次数:
1783