摘要: 【每个进程调用的动态库中的全局变量都是一个拷贝,各自进程需要自己去初始化各自的全局,而且操作全局也互补影响】【比如banker.c,在sghall里面有个初始化,在游戏进程里也有初始化,需要两者共享变量得用共享内存或者其他进程间通讯】Linux共享库(动态库)与进程之间共享全局变量可行性分析概念就不多说了,下面主要讨论一下在进程中使用共享库(动态库)声明的全局变量的问题:网上有一篇介绍在主程序中使用动态链接库里的全局变量的文章,可能会给人一些误导。首先,在主程序中可以使用动态链接库中的全局变量是正确的,不可否认的,但这需要在程序编译链接时就要把动态库加上,并在需要使用的程序中使用extern声 阅读全文
posted @ 2013-01-10 12:30 vanishfan 阅读(10140) 评论(0) 推荐(0) 编辑
摘要: 通常库分为:静态库,共享库,动态加载库,。下面分别介绍。一、 静态库:1.概念: 静态库就是一些目标文件的集合,以.a结尾。静态库在程序链接的时候使用,链接器会将程序中使用 到函数的代码从库文件中拷贝到应用程序中。一旦链接完成,在执行程序的时候就不需要静态库了。 由于每个使用静态库的应用程序都需要拷贝所用函数的代码,所以静态链接的文件会比较大。2.创建与应用: 首先创建库文件libhello.c #include void hello() { printf("hello, welcome to library world!\n"); } 创建头文件libhello.h v. 阅读全文
posted @ 2013-01-10 12:26 vanishfan 阅读(551) 评论(0) 推荐(0) 编辑