社区
C语言
帖子详情
VC++中,全局变量问题?如何,在几个Cpp文件中,使用一个指向对象的指针?
Atl_lover
2002-03-29 03:48:09
我在一个cpp文件中申明了一个对象指针,对它分配内存(实例化)之后,创建一个线程,而这个线程,在另一个cpp文件中,它是用extern申明的,但是那个指针,还是为空?如何使那个不在同一个cpp文件中的线程过程,全局指针得到正确的值?
...全文
106
11
打赏
收藏
VC++中,全局变量问题?如何,在几个Cpp文件中,使用一个指向对象的指针?
我在一个cpp文件中申明了一个对象指针,对它分配内存(实例化)之后,创建一个线程,而这个线程,在另一个cpp文件中,它是用extern申明的,但是那个指针,还是为空?如何使那个不在同一个cpp文件中的线程过程,全局指针得到正确的值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
maoxianwang
2002-03-29
打赏
举报
回复
我晕
你自己解决了?
那分给谁?
neccui
2002-03-29
打赏
举报
回复
是什么原因?
Atl_lover
2002-03-29
打赏
举报
回复
我自己解决了。
Atl_lover
2002-03-29
打赏
举报
回复
scklotz(晓春) ;线程传参数我也会,但是很多参数传递很不爽。
neccui(PPC):
a.cpp
CMpeg1Stream *g_pMpeg1Stream; //定义
.
.
.
g_pMpeg1Stream = new CMpeg1Stream(dwSize);
.
.
.
hSendMpeg1Thread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) lpParameter1, 0, NULL);
//创建线程
b.ccp
extern CMpeg1Stream *g_pMpeg1Stream; //申明
/
//从文件中取出数据--然后发出
DWORD SendMpeg1ThreadProc(LPVOID p)
{
.
.
.
g_pMpeg1Stream->SetFileHead(pFileHead);
.
.
.
}
garfield_82
2002-03-29
打赏
举报
回复
#include <那个有线程的文件名>
试试
scklotz
2002-03-29
打赏
举报
回复
你这是通过全局变量的形式,在多个线程中进行通讯。本身这种机制是没有问题的。你提到的问题我认为是你的变量定义或者使用有问题。
其实你可以通过另外一种方式:
通过给线程传递参数,来实现通讯,这样的可靠性要好的多。
比如:
void ThreadFunction( void* para )
{
YouClass* pObj = (YouClass*)para;
pObj-> ...
...
}
// instance
YouClass* pObj = new YouClass;
// start thread
StartThread( (ThreadFunctionType)ThreadFunction, (void*)pObj );
...
neccui
2002-03-29
打赏
举报
回复
你是如何声明和定义这个变量的?
Atl_lover
2002-03-29
打赏
举报
回复
ququshb(忘求了):先分配让后,再创建现成的阿。如果,这个线程过程,放在同一个Cpp文件下,就没有问题,但是。。。
ququshb
2002-03-29
打赏
举报
回复
保证先分配内存
neccui
2002-03-29
打赏
举报
回复
再检查一下程序吧,如果是NULL,那么肯定是还没有分配内存。
线程不会对这个问题有影响的。
neccui
2002-03-29
打赏
举报
回复
如果为空的话,肯定是你还没有初始化。
再检查一下程序。线程不影响这些东西的。
V
C++
的应用程序框架
尽管在 `.
cpp
`
文件
中
有对该
对象
的声明,但该
对象
不可直接
使用
。用户可以通过全局函数 `AfxGetApp()` 获得
指向
应用类
对象
的
指针
。例如,如果应用类名为 `CExampleApp`,则可以通过以下代码获取应用类
对象
的
指针
: `...
反汇编角度分析V
C++
面向
对象
机制
通常我们认为构造函数是没有返回值的,但是在实际的实现
中
,它确实会返回
一个
值——当前
对象
的`this`
指针
。为了验证这一点,我们可以编写
一个
简单的程序并通过反汇编的方式来观察。 **示例代码**: ```
cpp
#...
vc++ MFC 编程实例(18)
- **`GetParentFrame()`**:如果当前视图嵌套在某个框架窗口
中
,可以
使用
该函数获取
指向
父框架窗口的
指针
。 - **`MDIGetActive()`**:在MDI应用程序
中
,可以
使用
该函数获取当前活动的子窗口
指针
。 #### 3. 访问`...
VC 获得主窗口
指针
的方法示例代码.rar
在V
C++
编程环境
中
,主窗口
指针
是程序
中
至关重要的组成部分,它代表了应用程序的主窗口
对象
。在MFC(Microsoft Foundation Classes)框架下,主窗口通常是
一个
CFrameWnd或CMDIFrameWnd类的实例,它是用户与应用程序...
用单件模式写的写日志
文件
(VC版)
在V
C++
环境下,我们可能会创建
一个
名为`WriteLog`的日志类,它能够按照预定义的格式将信息写入到
文件
中
。 在单件模式的实现
中
,通常会包含以下
几个
关键部分: 1. **私有化构造函数**:为了防止其他
对象
通过常规...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章