/*************************************************************************
> File Name: helloC++.cpp
> Author: ma6174
> Mail: [email protected]
> Created Time: Fri 27 Jun 2014 10:36:49 PM WST -pthread
> Compile g++ -std=c++11 -g -o hello helloC++.cpp -pthread -lpthread
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#include <iostream>
#include <map>
#include <list>
#include <thread>
#include <exception>
#include <future>
#include <chrono>
#include <condition_variable>
#include <mutex>
#include <memory>
using namespace std;
using namespace std::chrono;
inline bool IsLittleEndian()
{
static union
{
char ch[4];
unsigned long b;
}Test = {'1', '?', '?', '2'};
return '1' == (char)Test.b;
}
typedef struct T0
{
int a;
}T0;
typedef struct T1
{
char b;
}T1;
typedef union
{
T0 t0;
T1 t1;
}T;
typedef struct TPack
{
char type;
T t;
}TPack;
void fun()
{
TPack pack;
pack.type = '0';
pack.t.t0.a = 10;
}
int main()
{
cout << IsLittleEndian() << endl;
return 0;
}