楔子 我们知道python的执行效率不是很高,而且由于GIL的原因,导致python不能充分利用多核CPU。一般的解决方式是使用多进程,但是多进程开销比较大,而且进程之间的通信也会比较麻烦。因此在解决效率问题上,我们会把那些比较耗时的模块使用C或者C++编写,然后编译成动态链接库,Windows上面 ...
分类:
编程语言 时间:
2020-01-28 14:16:14
阅读次数:
133
java系统中调用dll动态链接库需要用到JNA作为桥接工具,特此记录一下JNA的使用方式。 引入JNA的jar包 直接下载或者通过maven导入jar包,maven引入版本为5.5.0的JNA配置如下 Hello World 通过JNA调用C标准库的printf()函数。 java package ...
分类:
其他好文 时间:
2020-01-12 11:31:16
阅读次数:
111
不可全信 感谢各位博客教会了我很多,我也要写出来参与社区建设. 嘛不一定完全正确,想要可靠性比较高的同志建议买书,书中出处啥的比较详细,可靠性比较高. 1.基本步骤 1.1 向项目中导入dll文件 1.2 阅读dll文件的使用手册 [ 和头文件(.H) ] 1.3 编写导入dll文件中方法的代码 1 ...
分类:
编程语言 时间:
2020-01-11 13:05:30
阅读次数:
84
概念 DLL注入(英语:DLL injection)是一种计算机编程技术,它可以强行使另一个进程加载一个动态链接库以在其地址空间内运行指定代码[1]。在Windows操作系统上,每个进程都有独立的进程空间,即一个进程是无法直接操作另一个进程的数据的(事实上,不仅Windows,许多操作系统也是如此) ...
1、snmp下载 2、编译安装snmp的源码 2.1、编译参数的介绍: 2.2、安装依赖包 2.3、开始编译snmp软件 3、配置动态链接库 4、拷贝snmp配置文件 5、编辑配置文件 6、制作snmpd系统服务脚本 [root@sms-v2 ~]# vi /etc/init.d/snmpd #!/ ...
分类:
其他好文 时间:
2020-01-05 20:37:14
阅读次数:
119
1. 编写 mylib.h 2. 编写 mylib.c 3. 生成目标文件 mylib.o 4. 归档生成 libmy.a 格式: ar –rc lib[name].a libname.o 5. 编写测试程序 main.c 6. 编译生成 main.o 7. 最后一步链接生成可执行程序 8. 执行生 ...
分类:
其他好文 时间:
2020-01-02 19:01:11
阅读次数:
92
paddle安装过程中出现的一些问题: 在学习tensorflow过程中,了解到paddlepaddle,本着技多不压身的原则也了解了一下,但是在安装的时候碰到了一些问题。特地记录一下。 一、“libssl-1_1-x64.dll”的版本问题 在按照paddle官方说明(组合:Win10+conda ...
分类:
其他好文 时间:
2020-01-02 15:31:33
阅读次数:
248
这篇文章讲得很好: https://www.cnblogs.com/tracylee/archive/2012/10/15/2723816.html 这是总结一下, 1. 静态链接库直接被包含在最终生成的可执行文件中, 动态链接库(DLL)文件夹与可执行文件独立, 可执行文件可以动态地使用与卸载DL ...
分类:
其他好文 时间:
2019-12-31 00:50:04
阅读次数:
99
get_started_3dsctf_2016 Pwn 这个题确实有点坑,在本地能打,在远程就不能打了,于是我就换了另一种方法来做. 确这个题是没有动态链接库,且PIE是关的,所以程序的大部分地址已经定死了,帮了大忙了. 第一个本地能打通的思路(远程打不了) 修改eip跳转到get_flag函即可, ...
分类:
其他好文 时间:
2019-12-29 00:27:58
阅读次数:
219
在我们日常的开发中,难免要使用别人封装的第三方库;那么接下来就跟着我一步步学习如何在VS编译器中调用第三方库吧。 我自己封装了一个简单的dll文件;函数如下所示: 头文件(.h) #ifndef _MYDLL_H #define _MYDLL_H #ifdef MYDLL_EXPORTS #defi ...
分类:
其他好文 时间:
2019-12-26 12:57:52
阅读次数:
82