![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
文章平均质量分 58
西子云齐
自律即自由
展开
-
7.动态链接
7.1为什么要动态链接 慢慢静态模块的诸多缺点逐步暴露出来,比如浪费内存和磁盘空间、模块更新困难等问题,使得人们不得不寻找一种更好的方式来组织程序的模块。 内存和磁盘空间 当两个程序都用到某个模块,则在磁盘和内存中都会有两个副本。在静态链接中,C语言静态库是很典型的浪费空间的例子,还有其他数以千计的库如果都需要静态链接,那么空间浪费无法想象。 程序开发和发布 任何程翻译 2017-10-26 11:07:25 · 314 阅读 · 0 评论 -
时间复杂度
1.时间复杂度: 某函数中有n次基本操作重复执行,用T(n)表示,现在有某辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作:T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。 通俗地讲,其实时间复杂度就是找了一个同样曲线类型的函数f(n)来表示这个算法的n在不断变大...转载 2018-09-07 22:35:16 · 156 阅读 · 0 评论 -
AS错误小集
1。添加第三方so库 根目录下添加libs文件夹和子文件夹armeabi-v7a文件及其中的so文件; 然后在项目build.gradle中的 android { sourceSets{ main{ jniLibs.srcDir ‘libs’ } }原创 2017-11-02 09:43:34 · 219 阅读 · 0 评论 -
6.可执行文件的装载与进程
可执行文件只有装载到内存后才能被CPU执行。 6.1进程虚拟地址空间 因为程序在运行的时候处于操作系统的监管下,操作系统为了达到监控程序运行等一系列目的,进程的虚拟空间都在操作系统的掌握之中。进程只能使用那些操作系统分配给进程的地址,如果访问未经允许的空间,那么操作系统就会捕获到这些访问,将进程的这种访问当作非法操作,强制结束进程。我们经常在Windows下碰到“进程因为非法操作需要关闭”或Li翻译 2017-10-25 21:40:47 · 503 阅读 · 0 评论 -
5.Windows PE/COFF
5.1 windows的二进制文件格式PE/COFF翻译 2017-10-25 16:54:49 · 238 阅读 · 0 评论 -
4.静态链接
/*b.c*/int shared=1;void swap(int *a ,int *b){ *a^=*b^=*a^=*b;}/*a.c*/extern int shared;int main(){ int a=100; swap(&a,&shared);}经过编译后我们就得到了“a.o”和“b.o”。从代码中可以看到,“b.c”总共定义了两个全局符号。模块“a翻译 2017-10-25 15:39:09 · 278 阅读 · 0 评论 -
3 目标文件里有什么
目标文件从结构上讲,它是已经编译后的可执行文件格式,只是还没有经过链接的过程,其中可能有些符号或有些地址还没有被调整。其实,它本身就是按照可执行文件格式存储的,只是跟真正的可执行文件在结构上稍有不同。可执行文件格式涵盖了程序的编译、链接、装载和执行的各个方面。了解它的结构并深入剖析它对于认识系统、了解背后的机理大有好处。3.1目标文件的格式 广义上目标文件与可执行文件格式几乎是一样的,翻译 2017-10-24 22:00:44 · 242 阅读 · 0 评论 -
静态链接
2.1 被隐藏了的过程 hello world 实际上,上述过程可分解为4个步骤,分别是预处理(prepressing)、编译(compilation)、汇编(assembly)和链接(linking): 2.1.1预编译 也已经被插入到.i文件中。所以当我们无法判断宏定义是否正确或头文件是否正确时,可以直接查看预编译后的文件来确定问题。 2.1.2编译 2.翻译 2017-10-24 21:04:40 · 249 阅读 · 0 评论 -
文章标题
1.1 深入思考“hello world”#include<iostream>int main(){ printf("hello world\n"); return 0;}问题1:程序为什么要被编译后才可以运行? 问题2:编译器把c语言转换为可执行的机器码过程中做了什么,怎么做的? 问题3:可执行文件里面是什么?除了机器码还有什么?怎么存放的,怎么组织的? 问题4:把st翻译 2017-10-24 12:23:45 · 221 阅读 · 0 评论 -
11 运行库
本章从程序创世开始,接触到程序背后另一类默默服务的团体,它们能够使得程序正常启动,使得我们熟悉的函数发挥作用,它们就是程序的运行库。 11.1入口函数和程序初始化 11.1.1程序从main开始吗 11.1.2入口函数如何实现 glibc的程序入口为_start: ebp设为0正好可以体现出这个最外层函数的尊贵地位pop esi及mov esp,ecx;调用_start前,装载器把用户翻译 2017-10-31 19:07:03 · 269 阅读 · 0 评论 -
python2.7.13
在这里插入代码片https://blog.csdn.net/qq_21383435/article/details/83278750转载 2019-04-15 13:33:50 · 283 阅读 · 0 评论