VS2005下写了个简单的测试程序,输出map文件,但在map文件里找不到我写的函数

linyanxin2007 scut 2011-09-27 11:27:59

class CTestClass
{
public:
void ErrorFun(int* ptr);
void ErrorFun1(char* ptr);
void ErrorFun2(int* ptr);
void ErrorFun3(int* ptr);
CTestClass();
~CTestClass();
};
CTestClass::CTestClass()
{

}

CTestClass::~CTestClass()
{

}

void CTestClass::ErrorFun( int* ptr )
{
*ptr = 1;
}

void CTestClass::ErrorFun1( char* ptr )
{
strncpy(ptr,"linyanxin",strlen("linyanxin"));
}

void CTestClass::ErrorFun2( int* ptr )
{
*ptr = 1;
}


void CTestClass::ErrorFun3( int* ptr )
{
*ptr = 1;
}

int _tmain(int argc, _TCHAR* argv[])
{
char* ptr = NULL;

CTestClass obj;
obj.ErrorFun1(ptr);
return 0;
}
...全文
81 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
linyanxin2007 2011-09-27
呃,其实不是说什么语法的问题,程序的意思是想制造溢出等的崩溃现象,然后通过map文件来定位到出错的代码,现在是生成的map文件没有我这些函数的符号
回复
翻越寒武 2011-09-27
函数ErrorFun1(char* ptr )需要返回一个指针,在你实际调用时,系统会产生ptr的一个临时指针_ptr,修改是在_ptr上,ptr没发生变化。建议修改成char* ErrorFun1(char* ptr )
回复
相关推荐
发帖
其它技术问题
创建于2007-09-28

3849

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2011-09-27 11:27
社区公告
暂无公告