1.进程A创建了线程B,需要在线程B中修改进程A的全局变g_num为10,请写出代码2.某公司需要开发一个客户端绘图软件,以实现画线、画圆、画多边形等功能,并把图形发送到连接在远程服务器端的绘图仪上打印。绘图仪公司提供了用来控制绘图仪的动态链接库(安装在服务器端),动态链接库中包含如下一些API:
Init() //初始化绘图仪
draw(RGB(),x ,y) //绘图
等等
1)请画出程序的主要数据流程图和用例图
2)为了使客户端使用更加灵活,考虑使用COM技术实现对远程绘图仪的控制,请使用IDL语言编写一个COM IDispatch接口
3)请画出程序调用2)中COM接口的数据流程图
4)使用多线程技术实现客户端绘图软件绘图和打印的同步进行,请用VC++编写客户端与服务器的通讯线程
Init() //初始化绘图仪
draw(RGB(),x ,y) //绘图
等等
1)请画出程序的主要数据流程图和用例图
2)为了使客户端使用更加灵活,考虑使用COM技术实现对远程绘图仪的控制,请使用IDL语言编写一个COM IDispatch接口
3)请画出程序调用2)中COM接口的数据流程图
4)使用多线程技术实现客户端绘图软件绘图和打印的同步进行,请用VC++编写客户端与服务器的通讯线程
InitializeCriticalSection(&g_cs);
EnterCriticalSection(&g_cs);
g_num=10;
LeaveCriticalSection(&g_cs);or
如果g_num 是整形
InterlockedExchange(&g_num, 10);
第一题 其实只要g_num=10;就行
WINAPI void MyThread(LPVOID pPara){g_num = 10;}
而且题目有点迷或,全局变量怎么能规进程所有呢? 进程A使用互斥体或临界区了? ...2.IDL??? 不懂 ,如果用ATX写个组件还勉强能应付,哈哈