pykd/test/targetapp/types.cpp
SND\kernelnet_cp 4497613fa3 [test] added : testArrayField ( typed with array fields )
git-svn-id: https://pykd.svn.codeplex.com/svn@69294 9b283d60-5439-405e-af05-b73fd8c4d996
2011-08-25 06:14:24 +00:00

187 lines
2.8 KiB
C++

#include "stdafx.h"
#include <string>
///////////////////////////////////////////////////////////////////////////////
// áàçîâûé òèïû
char charVar = -100;
unsigned char ucharVar = 200;
///////////////////////////////////////////////////////////////////////////////
struct Type1 {
char field1;
unsigned char field2;
double field3;
};
Type1 var1 = { -121, 220, 1.0095f };
///////////////////////////////////////////////////////////////////////////////
enum Enum1 {
Enum1Val1 = 100,
Enum1Val2 = 200,
Enum1Val3 = 300
};
struct Type2 {
Enum1 field1;
};
Type2 var2 = { Enum1Val1 };
///////////////////////////////////////////////////////////////////////////////
namespace Namespace1 {
class Class1 {
public:
Class1( unsigned long v1 ) :
m_field1( v1 )
{}
private:
unsigned long m_field1;
};
Class1 var3( 50 );
namespace Namespace2 {
class Class2 {
public:
Class2( const std::string &str ) :
m_field1 ( str )
{}
private:
std::string m_field1;
};
Class2 var4( "hello" );
};
};
///////////////////////////////////////////////////////////////////////////////
namespace Namespace3
{
template<typename T>
class Class3
{
public:
Class3(T val): m_field1 (val)
{
}
private:
T m_field1;
};
Class3<int> var5(5);
};
///////////////////////////////////////////////////////////////////////////////
#pragma pack( push, 4 )
struct Type4
{
int field1;
struct {
int field2;
int field3;
};
struct {
int field41;
} field4;
};
Type4 var4 = {};
#pragma pack( pop )
///////////////////////////////////////////////////////////////////////////////
class Type5 {
private:
int field1;
int field2;
public:
Type5() : field1(10), field2(20) {}
};
class Type6 {
private:
int field1;
Type5 *field2;
Type5 *field3[2];
public:
Type6() {
field1 = 10;
field2 = new Type5;
field3[0] = new Type5;
field3[1] = new Type5;
}
~Type6() {
delete field2;
}
};
Type6 var6;
///////////////////////////////////////////////////////////////////////////////
class Type7 {
private:
Type5 field1[10];
Type5 field2[2][2];
int field3[2][2][2];
};
Type7 var7;
///////////////////////////////////////////////////////////////////////////////