免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: sundragon
打印 上一主题 下一主题

[求助]关于全局变量 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-07-19 11:14 |只看该作者
原帖由 mygod 于 2001-12-27 14:29 发表
axchen说的是对的,谢谢!
我在AIX上作了一个小程序试了一下,程序代码如下:
#include ;
#include ;
#include ;
#include ;

main()
{
   char* tmp;
   pid_t pid_tmp;

   tmp = malloc(40);
   strcpy(tmp, ...


天那!tmp根本就不是全局变量,哥们你在搞什么?这样当然是显示parent!

论坛徽章:
0
22 [报告]
发表于 2007-07-19 11:32 |只看该作者
原帖由 xh780927 于 2002-11-25 16:23 发表
拜托能不能不要搞这么复杂啊,我只是想知道 我如何在子线程里修改这个全局变量的值,最简单的方法就可以了,请哪位大侠在百忙之中回答俺一下

怎么又搞到线程上了,线程可以直接改的,进程要用点进程间通信的手段,mmap,管道之类的

论坛徽章:
0
23 [报告]
发表于 2007-07-19 18:11 |只看该作者
如果只是修改一个变量,最简单的方法子进程给父进程发个信号,父进程收到信号后更改就可以了。

论坛徽章:
0
24 [报告]
发表于 2007-07-19 18:20 |只看该作者
原帖由 xh780927 于 2002-11-25 16:23 发表
拜托能不能不要搞这么复杂啊,我只是想知道 我如何在子线程里修改这个全局变量的值,最简单的方法就可以了,请哪位大侠在百忙之中回答俺一下

直接修改或者赋值,没有任何问题.全局变量

论坛徽章:
0
25 [报告]
发表于 2007-07-19 18:55 |只看该作者
全都在扯谈。讨论这个问题,先选择一套软硬件环境再谈,

论坛徽章:
0
26 [报告]
发表于 2007-07-20 17:44 |只看该作者
都是高手啊,虽然只比我高那么一点点

论坛徽章:
0
27 [报告]
发表于 2007-07-20 18:29 |只看该作者
这个问题引出不少操作系统问题啊,体现了C在内存上的危险性,大家多加小心,还是用share memory比较安全啊

论坛徽章:
0
28 [报告]
发表于 2007-08-23 18:39 |只看该作者
原帖由 tonyhack 于 2007-7-20 18:29 发表
这个问题引出不少操作系统问题啊,体现了C在内存上的危险性,大家多加小心,还是用share memory比较安全啊

怎么个安全法?怎么危险法?能否解释下?

论坛徽章:
0
29 [报告]
发表于 2007-08-24 00:07 |只看该作者

回复 #1 sundragon 的帖子

不影响,全局变量在子进程中是可以被使用,一个进程中改变值不影响其他进程
因为父进程与进程的地址空间是各自独立的。
另外注意文件描述符和socket因为是整个操作系统唯一的,所以对这些操作有可能影响另外的进程
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP