传递给线程的结构体一定要在堆上分配内存
2013-05-24 10:25
633 查看
// Test11.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "Test11.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; using namespace std; typedef struct _tagParamInfo { int i; }ParamInfo,*PParamInfo; DWORD WINAPI ThreadProc(LPVOID lPatamter) { // PParamInfo theParamInfo = static_cast<PParamInfo>(lPatamter); int *lpI = static_cast<int*>(lPatamter); Sleep(1000); printf("%d\n", *lpI); //delete theParamInfo; //delete lPatamter; return 0; } int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // initialize MFC and print and error on failure if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: change error code to suit your needs cerr << _T("Fatal Error: MFC initialization failed") << endl; nRetCode = 1; } else { // TODO: code your application's behavior here. for (int i = 0; i < 10; i++) { PParamInfo theParamInfo = new ParamInfo(); theParamInfo->i = i; int li = i; ::CreateThread(NULL, 0, ThreadProc, &li, 0, NULL); } printf("end\n"); Sleep(5000); } return nRetCode; }
相关文章推荐
- c 函数传递参数 & 结构体内存分配
- 关于C结构体内存分配
- VC中结构体内存分配问题透析
- dm81xx link内存分配及link之间数据传递
- 结构体的内存空间分配原理
- 内存的分配方式有几种? 动态内存的的传递注意事项!
- 结构体变量的内存分配
- 结构体的内存分配机制
- java的参数传递与内存分配问题
- 结构体、类的成员变量、成员函数是如何分配内存的?
- java中的参数传递方式以及内存分配情况
- 关于struct结构体内存分配的学习小结
- study c(vc中测试过)——结构体,链表,内存分配,位操作
- java的参数传递与内存分配问题
- 结构体的内存空间分配原理
- Delphi 的内存操作函数(3): 给结构体指针分配内存
- C\C++中结构体变量与结构体指针内存分配问题
- VC中结构体内存分配问题透析
- 结构体内存分配问题
- 使用 AfxBeginThread 传递一个结构体入线程需要注意的地方