MFC 创建标准DLL求救 25
现需要把一个程序A中的若干核心函数提取出来单独做成DLL,供这个程序使用,以达到封装,保证核心源码安全。但是因为这些函数里面也使用到了A程序中若干其它函数和全局变量,现在...
现需要把一个程序A中的若干核心函数提取出来单独做成DLL,供这个程序使用,以达到封装,保证核心源码安全。但是因为这些函数里面也使用到了A程序中若干其它函数和全局变量,现在求哪位高手指点迷惑
谢谢FORTUNE222的解答,但是因为我要做成DLL的函数中调了好多A程序中的函数,一一传函数地址的话,太多东西要传了,有没有简便的方法啊。 展开
谢谢FORTUNE222的解答,但是因为我要做成DLL的函数中调了好多A程序中的函数,一一传函数地址的话,太多东西要传了,有没有简便的方法啊。 展开
2个回答
展开全部
如果你的应用程序需要严重依赖全局变量或静态变量,那么TLS能够帮助解决它遇到的问题
使用动态T L S,首先必须调用T l s A l l o c函数:
DWORD TlsAlloc();
这个函数命令系统对进程中的位标志进行扫描,并找出一个F R E E标志。然后系统将该标志从F R E E改为I N U S E,并且T l s A l l o c返回位数组中的标志的索引。D L L(或应用程序)通常将该索引保存在一个全局变量中。这是全局变量作为一个较好选择的情况之一,因为它的值是每个进程而不是每个线程使用的值。
使用动态T L S,首先必须调用T l s A l l o c函数:
DWORD TlsAlloc();
这个函数命令系统对进程中的位标志进行扫描,并找出一个F R E E标志。然后系统将该标志从F R E E改为I N U S E,并且T l s A l l o c返回位数组中的标志的索引。D L L(或应用程序)通常将该索引保存在一个全局变量中。这是全局变量作为一个较好选择的情况之一,因为它的值是每个进程而不是每个线程使用的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询